首页 > 解决方案 > 正则表达式查找包含 5-8 位数字和至少 1 次出现下划线“_”字符的字符串

问题描述

我需要一个正则表达式来查找所有包含 5-8 位数字和至少 1 次出现“_”或更多的字符串。这是一个例子:

123456_123456 --> YES
12345678_12345678_12345678 --> YES
123456_12345678_123456_12345678 --> YES
12345_123456_1234567_12345678_ --> YES

123456_1 --> NO
123456_12 --> NO
123456_1594126781 --> NO (timestamp at the end)
123_1594126781 --> NO (timestamp at the end)

谢谢你的帮助 !

标签: regex

解决方案


您也可以尝试:

^(?:\d{5,8}_)+\d{5,8}_?$

上述正则表达式的解释:

  • ^, $- 分别代表行的开始和结束。
  • (?:\d{5,8}_)+- 代表非捕获组匹配数字 5 到 8 次以及_整个模式重复一次或多次。
  • \d{5,8}_?- 匹配数字 5 到 8 次,可选_

在此处输入图像描述

正则表达式演示


推荐阅读