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 位数字的正则表达式不应以“/”开头和结尾,也可以是字符串中的单个单词 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Asp .NET MVC 正则表达式

C#正则表达式匹配方括号

需要一个js正则 手机与电话都可以验证的

VBA 正则表达式匹配模式

用于用户名验证php的正则表达式

正则表达式 实现ipv4格式的判断