0

我试图在我们的代码中找到任何需要发送到 __() 函数的字符串实例。

我有以下正则表达式:

 (\[|__\()[\'\"][\w\s\\\:]+[\'\"]

匹配:

 ['valid string'
 ["valid::str::ing"
 __('valid\String'
 __(" v a l i d s t r i n g "

但不是:

 'hel\lo there '
 "he::he"

我需要它来扭转比赛。我尝试了各种方法来否定 ([|__() 部分,但没有任何成功。

如何编写表达式以匹配前面没有 [ 或 __(?

谢谢你。

4

2 回答 2

0

您也许可以使用负面的后视。请参见:

http://www.regular-expressions.info/lookaround.html

于 2013-08-12T22:31:40.037 回答
0
/([^\[\(]|[^\_]\(|[^\_]_\()[\'\"][\w\s\\\:]+[\'\"]/

匹配带有'or的字符串,前面"没有 a[或 a (,但(如果它前面不是 a则允许,如果前面 没有 2nd_也允许_(_

于 2013-08-13T00:26:26.787 回答