这不适合我:
dim regex as Regex = New Regex("\b\$_GET\b")
src = regex.Replace(src, "somthing")
返回原始字符串。
在长文件中尝试此操作时,我的内存也已耗尽:
dim regex as Regex = New Regex("\$\b_GET\b")
src = regex.Replace(src, "somthing")
注意:尝试查找和替换$_GET
,$foo
等php变量。
答案 0 :(得分:0)
单词边界(\b
)在美元符号附近不是很有用,只需使用:
dim regex as Regex = New Regex("\$_GET\b")
答案 1 :(得分:0)
问题是,在“$ _GET”之前,没有word boundary \b
。
单词边界与从单词字符到非单词字符的变化匹配,或者相反。我假设在“$ _GET”之前有两个位置的字符串或空格的开头(在StartOfString和“$”,Whitespace和“$”之间)没有字边界。
你的第二个例子应该有用,因为“$”和“_”之间有一个单词边界。
您可以使用反向锚点。
dim regex as Regex = New Regex("\B\$_GET\b")
\B
在“$”之前需要一个非单词字符,因为它是\b
的否定。
答案 2 :(得分:0)
问题是正则表达式开头的word boundary
\b
,代码必须是:
dim regex as Regex = New Regex("\$_GET\b")