我使用Notepad++,我需要一个正则表达式来匹配连续的数字。
示例:
verses 3-4
verses 11-12
verses 26-27因此,regex会找到这些匹配项,而不是像第3-9节或第26-32节这样的行。等。
我使用\d+,但不知道如何一个一个地增加相同的一个。
发布于 2013-01-21 08:20:16
正则表达式匹配文本,而不是数字。因此,您不能单独使用正则表达式(除非详细说明所有可能的组合)。您需要一种脚本语言来将匹配的文本转换为整数并对它们进行比较。
例如,在Python中:
for potentialmatch in re.finditer(r"(\d+)-(\d+)", mytext):
if int(potentialmatch.group(1)) + 1 == int(potentialmatch.group(2)):
# Match found发布于 2013-01-21 08:20:54
除非使用包含所有此类选项的正则表达式,否则不能这样做。
不过,您可以生成一个:
(1..99 | %{"$_-$($_+1)"}) -join '|'在PowerShell中,将产生一个正则表达式,它将匹配从1-2到99.100之间的所有内容。
https://stackoverflow.com/questions/14434719
复制相似问题