当前位置: 首页 > 知识库问答 >
问题:

需要一个正则表达式,确保数字以01 02或08开头,长度为10或11位

章晗日
2023-03-14

我很难用正则表达式来检查一个数字是否以010208开头,并且长度是10位还是11位。

例如,我希望通过以下格式的数字:

01614125745
02074125475
0845895412
08004569321

和其他形式失败的数字,如:

0798224141
441544122444
0925456754

等等基本上,任何不以010208开头的数字。

共有2个答案

魏松
2023-03-14

Rob W的答案是正确的。但我会用这样一个更简单的表达:(不需要向前看)

js prettyprint-override">/^0[128][0-9]{8,9}$/
宿楚青
2023-03-14

以下模式遵循标准:

/^(?=\d{10,11}$)(01|02|08)\d+/   # This pattern can easily be extended

/^(?=\d{10,11}$)0[128]\d{8,9}/   # Same effect

解释:

^                Begin of string
(?=\d{10,11}$)   Followed by 10 or 11 digits, followed by the end of the string
(01|02|08)       01, 02 or 08
\d+              The remaining digits
 类似资料:
  • 问题内容: 我正在建立正则表达式以检查单词是否以或或开头,我的代码如下, 它打印。我还检查了Regex之后的 stackoverflow,以测试字符串是否以http://或https://开头 正则表达式似乎是正确的,但为什么不匹配?我甚至尝试和 问题答案: 您需要在此处进行 完整的输入 匹配。 编辑 :(基于@davidchambers的评论)

  • 问题内容: 我有这个正则表达式使用向前和向后的前瞻: 我正在尝试将其从C#移植到Python,但始终收到错误 是否有可能用Python重写而不会失去意义? 这个想法是为了匹配类似 更新资料 我正在使用环顾四周解析已修改的HTTP多部分文本 我想在进行拆分时只获取文件路径和其他文本,而不必删除开始和结束标签 简短的代码很重要,但是如果它使正则表达式可行,我愿意更改格式。 问题答案: 对于同一数组中的

  • 问题内容: 我需要一个不以点开头或不以开头的正则表达式。 此正则表达式有效,但在第一个条件下失败;它不以点开头: 例如:应为有效字符串,但失败。 问题答案: 从上一个问题开始,您应该可以使用: 但是,如果您希望能够匹配1个字符串,则需要否定先行: 而且,如果您也想匹配空字符串,只需使用代替即可。

  • 问题内容: 我试图设置一个正则表达式,它将检查字符串的开头,以及是否包含其中一个http://或https://应与之匹配的字符串。 我怎样才能做到这一点?我正在尝试以下不起作用的方法: 问题答案: 您对的使用[]不正确-请注意,它[]表示一个字符类,因此只能匹配一个字符。该表达式[]翻译为“匹配a (,或 s。(重复的字符将被忽略。) 试试这个: 如果您确实要使用交替,请改用以下语法:

  • 我需要使用通配符类型搜索筛选一组字符串,如下所示: 寻找应该匹配你好,但不是Helo 查找应该匹配"pant"和"想要"但不匹配"ant" 寻找应该匹配"吉普赛人"和"典型" 代表一个或多个字符。我不介意手写或基于正则表达式的搜索。有什么想法吗?典型的。NET方法的通配符匹配0或更多,但我需要1个或更多字符。我该怎么做?

  • 问题内容: 假设我想要一个正则表达式,使其与“从iPhone发送”和“从iPod发送”都匹配。我该如何写这样的表达? 我尝试过类似的事情: 但似乎不起作用。 问题答案: