我正在尝试解析uniq id,其中包括带下划线的单词和该符号后面的一些数字。如何编写正确的正则表达式,以查找所有单词:
- 下划线"_"符号前第一部分特定单词的小写条件
- 下划线"_"符号后的目标字符串包含数字
正确匹配:"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+$'
也可以对特定数据执行此操作,例如tea
、coffee
、water
这样你就可以像这样写了
(tea|coffee|water)_d+$
这将完成的工作
b[a-z]+_d+b
演示
b[a-z]+_d+b
将[a-z]+
替换为tea
以仅匹配此单词,或将(teapot|pot|fork)
替换为匹配这3个单词
演示