-5

这对我不起作用:

            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")

注意:尝试查找和替换 php 变量$_GET$foo

4

3 回答 3

0

单词边界 ( \b) 在美元符号附近不是很有用,只需使用:

dim regex as Regex = New Regex("\$_GET\b")
于 2013-06-06T13:15:58.783 回答
0

问题是,在 "$_GET" 之前没有单词边界 \b

单词边界匹配从单词字符到非单词字符的变化,或者相反。我假设在“$_GET”之前有字符串或空格的开头,对于两个位置(StartOfString 和“$”、空格和“$”之间)没有单词边界。

您的第二个示例应该可以工作,因为“$”和“_”之间存在单词边界。

您可以改用反向锚。

dim regex as Regex = New Regex("\B\$_GET\b")

\B在“$”之前需要一个非单词字符,因为它是\b.

于 2013-06-06T13:16:29.500 回答
0

问题是在正则表达式的开头,代码必须是:word boundary \b

dim regex as Regex = New Regex("\$_GET\b")
于 2013-06-06T13:19:58.223 回答