查找以特定数字范围

时间:2018-01-25 14:31:56

标签: regex

我需要一个正则表达式来查找以下范围内的任何数字开头的所有八位数字: 20-31 40-42 50-53 60-61 71 81 91-93

这是怎么做到的?

/德兰

2 个答案:

答案 0 :(得分:1)

您可以尝试使用字词边界(否则,例如2018年的20个匹配)与正则表达式\b(2\d|31|4[012]|5[0-3]|6[01]|[78]1|9[1-3])\d{6}\b

以下是Rubular中的一个实例:http://rubular.com/r/99DToMd0LG

答案 1 :(得分:0)

以下正则表达式匹配范围20-31中的数字...意味着从2000000030999999

正则表达式\b(?:2\d|30|4[01]|5[012]|60|71|81|9[12])\d{6}\b

<强>详情:

  • \b在字边界(^\w|\w$|\W\w|\w\W)
  • 处断言位置
  • (?:)非捕获组
  • \d匹配一个数字(等于[0-9]),[0-2]等于[012]
  • []匹配列表中的单个字符
  • |

Regex demo