RegEx:匹配“year:2012”字符串中的任何位置?

时间:2012-10-06 07:35:18

标签: regex search digit

我正在研究搜索引擎,我需要用户能够按年过滤结果。我希望用户能够在搜索字符串中的任何位置添加“年:(四位数)”。我创造了这个,但它不是我想要的:

(year\:\d{4})

它确实符合我的需要,但我只想匹配,如果有空格或旁边没有任何内容。现在,它匹配,即使它在一个单词的中间。

示例:

testyear:2012test - Don't want match
test year:2012test - Don't want match
test year:2012 test - DO want match
test year:2012 - DO want match

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

您可以使用字边界:

\b(year:\d{4})\b

答案 1 :(得分:2)

使用以下正则表达式:

\byear:\d{4}\b

\b匹配字边界