【发布时间】:2020-11-06 09:07:39
【问题描述】:
我对正则表达式的了解越来越多,在阅读时我想知道正则表达式是否可以做这样的事情。例如,在字符串中查找 3 位数字,其中第二位数字比第一位数字高 2,第三位数字比第二位数字高 4。
例如:
比赛: 137, 248, 359
正则表达式能做这样的事情吗?从我有限的知识来看,这似乎是不可能的。
【问题讨论】:
标签: javascript regex string
我对正则表达式的了解越来越多,在阅读时我想知道正则表达式是否可以做这样的事情。例如,在字符串中查找 3 位数字,其中第二位数字比第一位数字高 2,第三位数字比第二位数字高 4。
例如:
比赛: 137, 248, 359
正则表达式能做这样的事情吗?从我有限的知识来看,这似乎是不可能的。
【问题讨论】:
标签: javascript regex string
正则表达式只能匹配字符串,不能对数字执行数学逻辑,因此无法确定两个数字相差一定的数量。
所以答案是否定的。
但是,该规则将 3 位数字限制为几个,因此您可以编写正则表达式替换来做到这一点:
(?:137|248|359)
解释:
(?:...) - 非捕获组
| - 交替
【讨论】: