我试图找出像这样的情况的正则表达式模式,以便序列化结果:
"july 25, 2010" => ([0]=>july)
"red, white, blue" => ([0]=>red, [1]=>white, [2]=>blue)
"redish blue, orange" => ([0]=>redish blue, [1]=>orange)
"july 2015" => ([0]=>july)
"that's awesome" => ([0]=>that's awesome)
我希望捕获所有有限制的单词/单词组合:
到目前为止,我已经提出:
\w[A-Za-z ']+
但是我得到了尾随空格。所以这匹配“七月”而不是“七月”。如何在保持单词之间的空格的同时防止尾随空格。
答案 0 :(得分:1)
一种简单的方法是:
[a-z][a-z' ]*(?= |,|$)
使用lookahead zero-length assertions,有条件地匹配空格,逗号或字符串的结尾。此外,它将匹配任何长度的单词,如" I"或者"嗨"。
在action中查看。
答案 1 :(得分:1)
您可以添加一个不带空格的最后一个字符匹配:
\w[A-Za-z ']*[A-Za-z']
请参阅sample