正则表达式获取连续数字

时间:2011-07-15 07:50:10

标签: asp.net regex

我有以下正则表达式,

[M][1-4][-][Q][1-4]{1}['][0-9]{2}[-][0-9]{2}

在此,最后[0-9]{2}[0-9]{2}必须是连续的数字。即; 09-1011-1212-13

任何人都可以帮助我如何更改表达式以获得所需的格式

3 个答案:

答案 0 :(得分:1)

你不能这样做,因为它过于依赖上下文。

事实上,您可以这样做,但您必须在regexp中手动插入每个组合。这不是一个理智的人会做的事情。并且它不具有可扩展性或可读性。

答案 1 :(得分:1)

您无法使用RegExps ....

比较数值

正则表达式在语法方面很出色,但在语义方面却很垃圾。因此,正则表达式肯定会帮助你识别x-y,但是你要求过多地继续推理x和y之间的关系。

答案 2 :(得分:0)

我会建议这个

M[1-4]-Q[1-4][']([0-9]{2})-([0-9]{2})
  1. 您不需要一些方括号。

  2. 您不应该在正则表达式中直接执行此操作。我在这些数字周围加上括号,这意味着您可以在捕获组1中找到第一个数字,在捕获组2中找到第二个数字 现在我将这两个变量转换为数字,减去它们并检查差异是否为1。