我使用Notepad ++,我需要一个正则表达式才能匹配连续数字
示例:
verses 3-4
verses 11-12
verses 26-27
所以正则表达式找到这些匹配,不行,如:3-9节,或26-32节等等。
我使用\ d +,但不知道如何只增加一个。
答案 0 :(得分:1)
正则表达式匹配文本,而非数字。因此,单独使用正则表达式无法做到这一点(除非您拼写出所有可能的组合)。您需要一种脚本语言,将匹配的文本转换为整数并进行比较。
例如,在Python中:
for potentialmatch in re.finditer(r"(\d+)-(\d+)", mytext):
if int(potentialmatch.group(1)) + 1 == int(potentialmatch.group(2)):
# Match found
答案 1 :(得分:1)
除了使用包含所有此类选项的正则表达式之外,你不能这样做。
你可以生成一个:
(1..99 | %{"$_-$($_+1)"}) -join '|'
PowerShell中的产生的正则表达式将匹配1-2到99-100之间的所有内容。