我使用记事本++,我需要一个正则表达式来匹配连续的数字
例子:
verses 3-4
verses 11-12
verses 26-27
因此正则表达式会找到这些匹配项,而不是以下行:第 3-9 节或第 26-32 节等。
我使用 \d+,但不知道如何将相同的值逐一增加。
正则表达式匹配文本,而不是数字。因此,您不能仅使用正则表达式来执行此操作(除非您拼出所有可能的组合)。您需要一种脚本语言,将匹配的文本转换为整数并进行比较。
例如,在 Python 中:
for potentialmatch in re.finditer(r"(\d+)-(\d+)", mytext):
if int(potentialmatch.group(1)) + 1 == int(potentialmatch.group(2)):
# Match found
您不能这样做,除非使用包含所有此类选项的正则表达式。
不过,您可以生成一个:
(1..99 | %{"$_-$($_+1)"}) -join '|'
在 PowerShell 中生成一个正则表达式,它将匹配从 1-2 到 99-100 的所有内容。