字符串的更具攻击性的正则表达式,下划线后只有8位数字

时间:2016-09-19 22:52:01

标签: regex string

我目前有\d{8}作为正则表达式模式,用于检测字符串何时包含_12345678,其中数字可以是任意数字,只要有8位数字并且它们遵循单个下划线。这适用于像tysons_meats_12345678这样的字符串,但不适用于像geralds_meats_12345678_1234_12345678这样的字符串,因为它会产生误报。

我需要一个更具攻击性的正则表达式模式,只有当字符串类似于any_char3cter!_12345678并且不为真时,才会有多个下划线后跟8个数字,如any_char3cter!_12345678_123_12345678

我已经搜索了Stack Overflow并花了3个多小时在线查看正则表达式教程无济于事。我错过了什么?

1 个答案:

答案 0 :(得分:1)

怎么样:

\D+_\d{8}\b

\b确保我们仅匹配字边界,\D表示_之前的字符不是数字。