我正在编写一个脚本,帮助我在项目中捕获所有本地化的字符串,并且我遇到了RegEx。
在以下字符串{{ translateAttr title="button.add_user.title" data-disable-with="button.add_user.disabled" }}
中,我希望能够捕获“button.add_user.title”和“button.add_user.disabled”,因为我的花括号以{开头{1}}属性。
到目前为止,我已经使用了这条规则translateAttr
,但正如您在http://lumadis.be/regex/test_regex.php?id=2362看到的那样,它并不匹配所有匹配项。
在这里给予一点帮助将非常感激。
编辑:模式我也希望正则表达式匹配
\{{2}translateAttr .*=(['"])(.+?)(?=(?<!\\)\1)\1 ?}{2}
EDIT2:我不喜欢匹配的模式
{{ translateAttr title="button with \"escaped quotes\" here" data-disable-with='button with single quotes' }}
{{ translateAttr title="want this with ' single quote" "but not this one" }}
由于
答案 0 :(得分:2)
使用以下使用PCRE动词(*SKIP)(*F)
^(?!.*?\{{2}\h*translateAttr).*(*SKIP)(*F)|=(["'])((?:\\\1|(?!\1).)*)\1