【问题标题】:Can regex find patterns like this? [duplicate]正则表达式可以找到这样的模式吗? [复制]
【发布时间】:2020-11-06 09:07:39
【问题描述】:

我对正则表达式的了解越来越多,在阅读时我想知道正则表达式是否可以做这样的事情。例如,在字符串中查找 3 位数字,其中第二位数字比第一位数字高 2,第三位数字比第二位数字高 4。

例如:

比赛: 137, 248, 359

正则表达式能做这样的事情吗?从我有限的知识来看,这似乎是不可能的。

【问题讨论】:

    标签: javascript regex string


    【解决方案1】:

    正则表达式只能匹配字符串,不能对数字执行数学逻辑,因此无法确定两个数字相差一定的数量。

    所以答案是否定的。

    但是,该规则将 3 位数字限制为几个,因此您可以编写正则表达式替换来做到这一点:

    (?:137|248|359)
    

    解释:

    (?:...) - 非捕获组

    | - 交替

    【讨论】:

    • 谢谢,我知道了,我只是想知道是否有任何方法可以在比赛中使用逻辑。好像没有。
    猜你喜欢
    • 2012-08-28
    • 2015-11-28
    • 1970-01-01
    • 2015-03-21
    • 2021-08-11
    • 2010-09-13
    相关资源
    最近更新 更多