我需要一个正则表达式,它将允许我从PHP源文件中检索以下所有数据:
MUI('Some text')
MUI("Some text", $lang)
正则表达式用于提取php文件中MUI(“...”)中包含的所有术语,以便构建要翻译的条目列表。我已经有了第一种情况的正则表达式:
MUI("Some text") > $pattern = '/MUI\((["\'].*?)["\']\)/';
但我必须添加一个参数,这是一个变量,从那时起,我的正则表达式不会找到第二种情况
MUI("Some text", $lang).
请注意,要查找的文本可能被"“或“”括起来。提前感谢您的想法。
1条答案
按热度按时间brtdzjyr1#
您可以使用
请参阅regex demo。
(?s)
-.
现在匹配任何字符,包括换行符MUI\(
-MUI(
字符串(?|"([^"\\]*(?:\\.[^"\\]*)*)"|'([^'\\]*(?:\\.[^'\\]*)*)')
-分支复位组匹配:"([^"\\]*(?:\\.[^"\\]*)*)"
-双引号字符串文字(将引号之间的内容捕获到组1中)|
-或'([^'\\]*(?:\\.[^'\\]*)*)'
-单引号字符串文字(将引号之间的内容捕获到组1中-是的,仍然是组1,因为这是分支重置组内的备选项)。