如何使用php匹配双引号字符串

时间:2016-09-07 20:27:05

标签: php regex

我需要匹配较大字符串中的双引号字符串,如:

"foo bar" == ""

它应匹配"foo bar"""以及此

"foo \" bar" == "\""

它应匹配"foo \" bar""\""到目前为止我有这个正则表达式:

(?<!\\\\)"(?:\\\\"|[^"])*(?<!\\\\)"

DEMO

但它在第一次转义报价后结束。并且不会返回"foo \" bar"

1 个答案:

答案 0 :(得分:1)

我会用这个:

(?<!\\)"(?:\\"|[^"])*(?<![^\\]\\)"

regex101上的演示

(?<!\\)"(?:(?<!\\)\\"|[^"])*(?<![^\\]\\)"似乎有用