【发布时间】:2013-08-14 09:28:50
【问题描述】:
我试图在我们的代码中找到任何需要发送到 __() 函数的字符串实例。
我有以下正则表达式:
(\[|__\()[\'\"][\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"
我需要它来逆转比赛。我尝试了各种方法来否定 ([|__() 部分,但没有任何成功。
如何编写表达式以匹配前面没有 [ 或 __(?
谢谢。
【问题讨论】:
-
仅仅说你有一个“正则表达式”是不够的,你必须指出你正在使用什么工具或语言。有些支持否定的后向表示法
(?<!...),它可以做你想做的事,但有些不支持,即使是那些做的,细节也有所不同。 -
像
'hey it\'s an unexpected \''这样的脏话也需要处理吗? -
@ruakh - 抱歉,表达式将在 PHPStorm 中执行。
-
@Wrikken - 是的,但我不太关心字符串细节,而是让第一部分正常工作。
标签: regex phpstorm regex-negation