正则表达式:在每个{空格}上分割字符串,但不包括引号中的空格

4

我对正则表达式不是很熟悉(实际上并不知道多少)。我需要从一个字符串创建一个数组,该字符串在空格处拆分,但仅当空格不在双引号内时才拆分:

this.line "should be 3" elements

会呈现为:
this.line
should be 3
elements

我知道可以使用preg_match获取数组,但是我对正则表达式一无所知。

另外,我已经在Stack Overflow上看过其他解决方案,但是正则表达式似乎不能与我的preg_match配合使用。

谢谢。

1个回答

6
你可以尝试这样做:
preg_match_all('/"[^"]+"|\S+/', $s, $matches);

看在线演示: ideone

太好了,谢谢。有没有可能对每个部分进行分解说明?我不想一直问正则表达式 :) - webnoob
1
@webnoob 他不是分割,而是匹配,无论是在引号之间的内容还是所有非空格的内容。聪明的做法 :) +1 - FailedDev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接