PHP正则表达式只匹配一个双引号


PHP regex match only one double quote

我试图匹配一行只有一个双引号(")的代码。我尝试过:

'"{1}

在以下字符串上

"this is a string"
"this is a string

regex应该只匹配第二行,但它同时匹配这两行。

有人知道怎么做吗?

您正在查找not组。

^[^'"]*'"[^'"]*$

如果您想知道任何给定行上是否只有一个双引号字符,请尝试以下操作:

/^[^"]*"[^"]*$/m

注意m修饰符-这允许^$匹配任何给定行的开始和结束,而不是仅匹配字符串的开始和结尾。