首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regex不起作用

Regex不起作用
EN

Stack Overflow用户
提问于 2014-03-03 16:13:11
回答 3查看 57关注 0票数 1

我需要在下面的正则表达式上得到帮助:

代码语言:javascript
复制
(0 ?)([1-8] ?){1}(\d ?){9}|(\d ?){10}
  • 正则表达式应该与1011位数字相匹配。
  • 第一位数字应为0
  • 第二位数字只应包含1 -8位数字
  • 所有数字都可以在之间有空格,例如0 1 2 7 4 3 3 3 4 4 4
  • 数字可以没有空格,例如01274333444

除了第三个条件之外,我为大多数场景创建的正则表达式,即第二个数字应该只包含1-8位数。任何帮助都非常感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-03 16:18:26

试试这个:

代码语言:javascript
复制
^(0\s?)([1-8]\s?)(\d\s?){8,9}$
票数 0
EN

Stack Overflow用户

发布于 2014-03-03 16:23:27

下面是regex (0 ?)([1-8] ?){1}(\d ?){9}|(\d ?){10}当前所做的工作:

它还试图匹配11或12位数,而不是10或11位数。

您需要做的是改变它的方式之一:

  • 在OR |周围添加一个组以限制其范围:(0 ?)([1-8] ?){1}(?:(\d ?){8}|(\d ?){9})

  • 或者最好将其更改为8或9个字符匹配:(0 ?)([1-8] ?){1}(\d ?){8,9}

票数 2
EN

Stack Overflow用户

发布于 2014-03-03 16:16:39

你可以用这个:

代码语言:javascript
复制
^0 ?[1-8] ?(?:[0-9] ?){8,9}$

我使用锚^$来确保没有前导或尾随数字。

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

https://stackoverflow.com/questions/22151645

复制
相关文章

相似问题

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