首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regex在输入的任何地方都可以看到字符类的n到m之间。

Regex在输入的任何地方都可以看到字符类的n到m之间。
EN

Stack Overflow用户
提问于 2013-01-11 14:02:11
回答 2查看 611关注 0票数 1

什么是前面的正则表达式,它断言输入中至少有n,但不超过m。

为了给出一个简单的具体例子,假设我想断言输入中有5-8位数,并且输入由单词字符和空格(即[ \w]*)组成。然后:

代码语言:javascript
复制
this line 123 does not match
this line 123 foo 456 matches
this line 123 % 456 does not match
this line 123 foo 456 bar 789 does not match

我已经尝试过各种{5,8}的组合,以展望未来:

代码语言:javascript
复制
^(?=(.*\d){5,8})[ \w]*$

但是8的上限并没有应用于上面的第4行匹配(例如在帝王上)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-11 19:55:14

我终于找到了办法。您必须使用两个外观头-一个用于下限,另一个用于上界:

代码语言:javascript
复制
^(?=(.*\d){5,8})(?!(.*\d){9,})[\w ]+$
票数 0
EN

Stack Overflow用户

发布于 2013-01-11 14:08:40

^从字符串的开头开始,匹配0或更多的非数字,然后是数字{5 to 8 times},然后才是非数字,直到字符串$的末尾。

代码语言:javascript
复制
^([^\d]*\d){5,8}[^\d]*$
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14279723

复制
相关文章

相似问题

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