【问题标题】:regex prevent match word正则表达式防止匹配词
【发布时间】:2018-01-10 15:40:41
【问题描述】:

我正在使用正则表达式

/part\s?[0-9]*\s?:?/g

匹配单词

"第 20 部分" "part21" "part30:" 等

问题是它也匹配其他单词中的单词“part”,例如“Repartition”

只有当它是一个完整的单词时它才应该匹配单词,即

part 01       -match
part 33:      -match
part          -no match
participial   -no match

【问题讨论】:

  • \b开头
  • 在单词的两边使用\b。这是一个单词中断。
  • @Thefourthbird \bpart\b\s?[0-9]*\s?:? 匹配 part
  • 你是对的。

标签: javascript regex


【解决方案1】:

似乎您想要的是强制一位或多位数字,将* 更改为+,并添加 \b 以确保“部分”不是更大单词的结尾:

/\bpart\s?[0-9]+\s?:?/g

如果您实际上使用的是匹配的字符串,我认为您只想在数字后包含空格(如果也有冒号):

/\bpart\s?[0-9]+(?:\s?:)?/g

【讨论】:

    猜你喜欢
    • 2013-01-04
    • 1970-01-01
    • 2015-04-13
    • 1970-01-01
    • 2012-10-06
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多