我正在开发一个搜索引擎,我需要用户能够按年份过滤结果。我希望用户能够在搜索字符串中的任何位置添加“年份:(四位数字)”。我创建了这个,但它并不完全是我想要的:
(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
有什么想法吗?
最佳答案
您可以使用单词边界:
\b(year:\d{4})\b
关于正则表达式:匹配字符串中任意位置的 "year:2012"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12757778/