如何检测PHP中的一部分字符串是否在引号对中?

时间:2011-03-11 09:44:36

标签: php regex string

想知道任何正则表达式可以做到这一点,例如我想知道 foo 是否在报价对内(无论是单引号还是双引号):

“foo”< - true
“'foo'”< - true
“它是foo”< - 的真实 “ABC”。富。 “def”< - false
abc'foo < - false
f“oo”< - false

1 个答案:

答案 0 :(得分:1)

一般来说,没有。这种东西不属于常规语言领域,因为你需要某种内存来跟踪引号的出现。

然而,现代的regexp比简单的常规语言更强大,所以它可能是有可能的。但我会选择这样的事情:

  1. 遍历每个字母,如果你看到一个引号然后翻转一个布尔变量
  2. 如果你看到foo且变量为true,则继续,否则返回false
  3. 如果您看到报价返回true
  4. 如果你关心单引号和双引号,请使用多个布尔值。