正则表达式按空格分割但忽略双引号字符串

时间:2017-04-06 19:49:07

标签: php regex

我知道/[\s]+/'用空格分割字符串。我试图扩展它以忽略双引号内的任何空格。所以我希望Hello World被拆分,而不是"Hello World"

preg_split('/[\s]+/', $string)是我在PHP中使用的表达式。

1 个答案:

答案 0 :(得分:4)

您可以使用PCRE动词(*SKIP)(*FAIL)告诉正则表达式跳过表达式的特定部分。所以:

".*?"(*SKIP)(*FAIL)|\s+

将跳过双引号字符串。这是一个regex101演示:

https://regex101.com/r/eBP67C/1/

您可以在此处详细了解http://www.rexegg.com/regex-best-trick.html#pcrevariation