正则表达式:匹配字符串中任意位置的 "year:2012"?

标签 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

有什么想法吗?

最佳答案

您可以使用单词边界:

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

关于正则表达式:匹配字符串中任意位置的 "year:2012"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12757778/

相关文章:

php查询搜索不稳定的结果

arrays - Laravel ajax 具有多个模型的实时搜索查询

PHP 相当于 JavaScript 的 parseInt 函数?

ios - 为什么 CGFloat 会补足有效数字?

c# - 修剪 float

regex - 忽略 Npp 正则表达式中的特定字符

javascript - Google 表格 - 删除包含字符的行

mysql - 正则表达式搜索mysql文本列

MySQL 正则表达式匹配

c - 如何在 C 编程中搜索二维字符串数组中的单词