我正在尝试按空格拆分字符串,但不包括单引号内的空格。
这是我正在处理的字符串:
'physical memory %'=92%;99;100 'physical memory'=29.69GB;31.68;32;0;32
以下正则表达式模式可以成功匹配我想要分隔的空格:
/\x20(?=[^']*('[^']*'[^']*)*$)\g
我遇到的问题是我使用了专门针对JavaScript正则表达式的http://www.regexr.com/编写了这个字符串,但我需要在PHP中使用它。
这是我目前有的PHP代码,但它会抛出一个错误:
preg_split("/\x20(?=[^']*('[^']*'[^']*)*$)/g", "'physical memory %'=92%;99;100 'physical memory'=29.69GB;31.68;32;0;32");
错误:
preg_split(): Unknown modifier 'g'
如果我去掉 / 和 /g,就会出现以下错误:
preg_match_all(): Compilation failed: nothing to repeat at offset 0
我猜测 PHP 中的正则表达式由于某种原因没有匹配到任何值,因此无法拆分该字符串。能否有人帮忙说明如何正确地进行操作?
谢谢。