正则表达式匹配包含特定单词的Yit :: t方法

时间:2015-06-25 20:43:29

标签: regex phpstorm

我是正则表达式的新手。我想知道是否有任何方法可以在下面的示例中查找something的所有匹配项:

Yii::t('something', 'Create')

请注意,something可能包含短划线和空格,其他所有部分都是静态的。

它应该符合以下示例:

Yii::t('bla bla', 'Create')
Yii::t('cmdshdfjs', 'Create')
...
换句话说,

只有something更改。

1 个答案:

答案 0 :(得分:3)

您可以使用以下使用look-behind的正则表达式,以确保我们在匹配前匹配Yii::t(',并在之后检查', 'Create')的前瞻:

(?<=\bYii::t\(')(?:[^'\\]|\\.)+(?=',\s*'Create'\))

请参阅demo

它还考虑了转义' s。