【发布时间】:2015-06-26 20:59:42
【问题描述】:
我有很多这样的字符串:
parameter_1 >= '23' AND parameter_2 like 'cucurigu AND \picaso' AND parameter_3 IS NULL
我想在每个不在撇号内的 AND 之后创建一个 preg_split() 。 $matches 的输出应该是一个带有
的数组0 => parameter_1 >= '23'
1 => parameter_2 like 'cucurigu AND \picaso'
2 => parameter_3 IS NULL
我不知道如何使用它。我确信有一个简单的解决方案可以使用 preg_split() 完成此操作。不幸的是,explode() 不能满足我的需要。 目前,我有一个巨大的代码,它逐个字符地将字符串拆分成一个数组,就像上面的那样。我需要将这个大代码更新为小代码,因为我的任务经常发生变化。
附:如果有人愿意帮助我,请添加 $pattern 的说明。
【问题讨论】:
-
假设您没有转义引号:
'[^']*'(*SKIP)(*FAIL)|\s*AND\s*。这不处理双引号。您可能想澄清有关上述两种情况的问题...
标签: php regex preg-split