想问一下regEx.Pattern中的替换,如何控制替换次数?
想问一下regEx.Pattern中的替换,如何控制替换次数?'**************************************************
'函数名:PE_Replace_keylink
'作 用:使用正则替换将HTML代码中的非HTML标签内容进行替换
'参 数:expression ---- 主数据
' find ---- 被替换的字符
' replacewith ---- 替换后的字符
' replacenum ---- 替换次数
'返回值:容错后的替换字符串,如果 replacewith 空字符,被替换的字符 替换成空
'**************************************************
Function PE_Replace_keylink(ByVal expression, ByVal find, ByVal replacewith, ByVal replacenum)
Dim newStr
regEx.Pattern = "([][$( )*+.?\\^{|])" '正则表达式中的特殊字符,要进行转义
find = regEx.Replace(find, "\$1")
replacewith = Replace(replacewith, "$", "$") '对$进行处理,特殊情况
regEx.Pattern = "(>[^><]*)" & find & "([^><]*<)(?!/a)"
newStr = regEx.Replace(">" & expression & "<", "$1" & replacewith & "$2")
PE_Replace_keylink = Mid(newStr, 2, Len(newStr) - 2)
End Function
'函数名:PE_Replace_keylink
'作 用:使用正则替换将HTML代码中的非HTML标签内容进行替换
'参 数:expression ---- 主数据
' find ---- 被替换的字符
' replacewith ---- 替换后的字符
' replacenum ---- 替换次数
'返回值:容错后的替换字符串,如果 replacewith 空字符,被替换的字符 替换成空
'**************************************************
Function PE_Replace_keylink(ByVal expression, ByVal find, ByVal replacewith, ByVal replacenum)
Dim newStr
regEx.Pattern = "([][$( )*+.?\\^{|])" '正则表达式中的特殊字符,要进行转义
find = regEx.Replace(find, "\$1")
replacewith = Replace(replacewith, "$", "$") '对$进行处理,特殊情况
regEx.Pattern = "(>[^><]*)" & find & "([^><]*<)(?!/a)"
newStr = regEx.Replace(">" & expression & "<", "$1" & replacewith & "$2")
PE_Replace_keylink = Mid(newStr, 2, Len(newStr) - 2)
End Function
以上为动易的替换函数,偶的正则可以说是0.所以请大家帮个忙,修改一下,可以控制替换次数,谢谢了~~
PS:提供相关信息也可以,偶可以慢慢去啃滴~