3

我正在使用以下正则表达式将字符串拆分为数组。一切都很好,但由于某种原因,它没有与\.(space). 我需要如何更改它才能使其正常工作?

  $sentences  = preg_split(" / (\. |, and|, or|, but|, nor|, so|, for|, yet|after|although|as|as if|as long as|because|before|even if|even though|if|once|provided|since|so that|that|though|till|unless|until|what|when|whenever|wherever|whether|while) /",$sentences); 
4

2 回答 2

8

你的空格是这里的问题。正则表达式会考虑到这一点,因此将其更改为:

$sentences = preg_split("/(\. |, and|, or|, but|, nor|, so|, for|, yet|after|although|as|as if|as long as|because|before|even if|even though|if|once|provided|since|so that|that|though|till|unless|until|what|when|whenever|wherever|whether|while)/",$sentences); 

注意第一个之后/和最后一个空格之前的空格是如何/被删除的。

于 2013-03-27T11:08:45.873 回答
1

由于您使用的是双引号,因此您必须对点进行双重转义,所以\\.不仅仅是\.

于 2013-03-27T11:07:49.027 回答