【发布时间】:2021-05-04 16:44:05
【问题描述】:
我正在寻找一个正则表达式来匹配重复的数字序列。数字/范围本身可以是任何三位数字,例如我要匹配
345
346-348
234,235,236,237-239
234, 235, 236, 237-239
234,234, 236 and 237-239
234,234, 236 or 237-239
我不想匹配
3454
111-222-333
454,4567 (match only 454)
号码可以是任意三位数字。我尝试了不同的正则表达式与 \d{3} 混合,但我没有找到任何有效的方法。感谢您对此的任何帮助。
【问题讨论】:
-
我很困惑,
345怎么是一个重复的数字序列? -
我已经阅读了几次,但无法确定标准是什么。您的意思是要匹配文字字符序列“346-348”还是要匹配“346”、“347”和“348”中的任何一个?为什么需要“345”而不需要“3454”?你能更明确地定义“重复数列”吗?
-
我正在寻找匹配任何三位数字和三位数字范围
-
因此您不希望匹配文字字符序列“234、235、236、237-239”,但您希望匹配“234”、“235”、“236”、和/或“237-239”?如果是这样,那么我要求您编辑您的问题,以简单地说您想要匹配三位数字和三位数字范围(技术上:数字的封闭间隔,使用连字符作为绑定分隔符)。在我看来,“重复数字序列”这个词不适合这里。
-
@Bob76:
111-222-333也是有效匹配吗?
标签: regex regex-group regex-greedy