我试图在我们的代码中找到需要发送到__()函数的任何字符串实例。
我有以下正则表达式:
(\[|__\()[\'\"][\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"
我需要它来扭转比赛。我尝试了各种方法来否定([| __()部分,但没有取得任何成功。
如何编写表达式以匹配前面没有[或__(?
)的字符串谢谢。
答案 0 :(得分:0)
您可能可以使用负面的后视。请参阅:
答案 1 :(得分:0)
/([^\[\(]|[^\_]\(|[^\_]_\()[\'\"][\w\s\\\:]+[\'\"]/
将'
或"
的字符串与前面没有[
或(
的字符串匹配,
但允许(
如果它前面不是_
,
如果前面没有第二个_(
,也允许_