首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只增加一个字符串的Regex (连续数字)

只增加一个字符串的Regex (连续数字)
EN

Stack Overflow用户
提问于 2013-01-21 08:18:46
回答 2查看 728关注 0票数 0

我使用Notepad++,我需要一个正则表达式来匹配连续的数字。

示例:

代码语言:javascript
复制
verses 3-4
verses 11-12
verses 26-27

因此,regex会找到这些匹配项,而不是像第3-9节或第26-32节这样的行。等。

我使用\d+,但不知道如何一个一个地增加相同的一个。

EN

回答 2

Stack Overflow用户

发布于 2013-01-21 08:20:16

正则表达式匹配文本,而不是数字。因此,您不能单独使用正则表达式(除非详细说明所有可能的组合)。您需要一种脚本语言来将匹配的文本转换为整数并对它们进行比较。

例如,在Python中:

代码语言:javascript
复制
for potentialmatch in re.finditer(r"(\d+)-(\d+)", mytext):
    if int(potentialmatch.group(1)) + 1 == int(potentialmatch.group(2)):
        # Match found
票数 1
EN

Stack Overflow用户

发布于 2013-01-21 08:20:54

除非使用包含所有此类选项的正则表达式,否则不能这样做。

不过,您可以生成一个:

代码语言:javascript
复制
(1..99 | %{"$_-$($_+1)"}) -join '|'

在PowerShell中,将产生一个正则表达式,它将匹配从1-2到99.100之间的所有内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14434719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档