Regex:匹配带下划线和id的单词



我正在尝试解析uniq id,其中包括带下划线的单词和该符号后面的一些数字。如何编写正确的正则表达式,以查找所有单词:

  1. 下划线"_"符号前第一部分特定单词的小写条件
  2. 下划线"_"符号后的目标字符串包含数字

正确匹配:"word_1"、"word_12312312"、"word_3">

匹配不正确:"WoRd_1"、"WoRd_"、"WoRd"、"WoRd_WoRd"、"WoRd-123">

很容易想象你有这样的数据:

tea
tea_23
tea_2132312
word_434324
words_21323
coffee_110
water_313
teapot_2321321
woRd_2213rrr

现在,正如您所说,您希望通过_以小写模式生成word,这样您就可以这样写:

[a-z]+_d+$

例如bash:

cat file.txt | grep --color -P '[a-z]+_d+$'

也可以对特定数据执行此操作,例如teacoffeewater

这样你就可以像这样写了

(tea|coffee|water)_d+$

这将完成的工作

b[a-z]+_d+b

演示

b[a-z]+_d+b

[a-z]+替换为tea以仅匹配此单词,或将(teapot|pot|fork)替换为匹配这3个单词

演示

最新更新