我的句子可能如下:
Name1,Name2,Name4,Name5都喜欢你的图片
或者像这样
Name1,Name2,Name4和Name5喜欢你的形象
我需要定期的表现来匹配所有的名字。我已经设法在一个表达式中抓住了两个案例中的所有前四个名字,但不知怎的,我没有从这些中得到Name5
,我无法弄清楚原因。
这是我的正则表达式:
[a-zA-Z0-9_\.]+(?=,| and)
<小时/> 演示: http://www.phpliveregex.com/p/3U4(点击
preg_match_all
)
我的正则表达式出了什么问题?
答案 0 :(得分:2)
您可以在示例中以这种方式捕获所有名称
[a-zA-Z0-9_.]+(?=,| and| have)
明细:.
在括号
答案 1 :(得分:0)
您的正则表达式需要其中一个字符串","
或" and"
来跟踪匹配(这就是positive lookahead assertion (?=,| and)
所针对的内容)。他们都没有为Name5
这样做。