2

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

(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

有任何想法吗?

4

2 回答 2

3

您可以使用单词边界:

\b(year:\d{4})\b
于 2012-10-06T07:38:08.893 回答
2

使用以下正则表达式:

\byear:\d{4}\b

\b匹配单词边界

于 2012-10-06T07:37:46.910 回答