我是正则表达式的新手。我想知道是否有任何方法可以在下面的示例中查找something
的所有匹配项:
Yii::t('something', 'Create')
请注意,something
可能包含短划线和空格,其他所有部分都是静态的。
它应该符合以下示例:
Yii::t('bla bla', 'Create')
Yii::t('cmdshdfjs', 'Create')
...
换句话说,只有something
更改。
答案 0 :(得分:3)
您可以使用以下使用look-behind的正则表达式,以确保我们在匹配前匹配Yii::t('
,并在之后检查', 'Create')
的前瞻:
(?<=\bYii::t\(')(?:[^'\\]|\\.)+(?=',\s*'Create'\))
请参阅demo
它还考虑了转义'
s。