10 位或 6 位数字的正则表达式不应以“/”开头和结尾,也可以是字符串中的单个单词 [重复]
Posted
技术标签:
【中文标题】10 位或 6 位数字的正则表达式不应以“/”开头和结尾,也可以是字符串中的单个单词 [重复]【英文标题】:Regex for 10 or 6 digit number should not start and end with '/' and can also be a single word in a string [duplicate] 【发布时间】:2021-08-28 21:39:29 【问题描述】:需要 6 位或 10 位数字的正则表达式可以以空格开头和结尾,也可以是整个字符串中的单个单词。它不应以“/”开头和结尾。
例如:
My Zip-code is 101010. Please update.
-> 101010
9090909090 is my mobile number
-> 9090909090
00/9090909090/000000/
-> 应该找不到任何号码
9090909090
-> 9090909090
我试过了
\b(\d11|\d10|\d6)\b
正则表达式,但无法处理第三种情况。
【问题讨论】:
那你有什么尝试? \b(\d11|\d10|\d6)\b\b
与“不以/
开头或结尾”的条件不匹配,因为它匹配零长度字符(单词边界)
@thinkgruen 你对上述问题陈述有什么建议
是的***.com/questions/9306202/…。此外,您还需要一个后视镜
【参考方案1】:
你可以使用
\b\d6(?:\d4)?\b(?!\/)
查看regex demo 和regex graph:
详情:
\b
- 单词边界
\d6
- 任意六位数
(?:\d4)?
- 可选的四位数字序列
\b
- 单词边界
(?!\/)
- 当前位置右侧不能有 /
(这是负前瞻)。
【讨论】:
以上是关于10 位或 6 位数字的正则表达式不应以“/”开头和结尾,也可以是字符串中的单个单词 [重复]的主要内容,如果未能解决你的问题,请参考以下文章