我正在创建一个正则表达式的问题.
我需要一个正则表达式来匹配以下示例,然后在第一个引用的字符串上进行子匹配:
输入字符串
("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
('Lorem ipsum dolor sit amet, consectetur adipiscing elit. ')
('Lorem ipsum dolor sit amet, consectetur adipiscing elit. ', 'arg1', "arg2")
必须匹配
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
到目前为止的正则表达式:
\((["'])([^"']+)\1,?.*\)
正则表达式在第一组引号之间对文本进行子匹配,并返回上面显示的子匹配.
这几乎完美地工作,但我遇到的问题是,如果引用的字符串在文本中包含引号,则子匹配在第一个实例处停止,请参见下文:
输入字符串失败
("Lorem ipsum dolor \"sit\" amet, consectetur adipiscing elit.")
只有子匹配: Lorem ipsum dolor
("Lorem ipsum dolor 'sit' amet, consectetur adipiscing elit.")
整场比赛都失败了.
笔记
输入字符串实际上是php代码函数调用.我正在编写一个脚本,它将扫描特定函数的.php源文件,并从第一个参数中获取文本.