首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regex限制组中的特定字符

Regex限制组中的特定字符
EN

Stack Overflow用户
提问于 2018-02-05 01:02:08
回答 2查看 951关注 0票数 0

我努力改变我目前的模式:

^[\\\/0-9]{5,10}$

它检查输入是否包含5-10个数字、斜杠或反斜杠。我想限制总的斜杠和反斜杠计数最多两。

例如,在更改后,12345/\\9不应有效:

我试着把它们分解成一个单独的组,如so ^([\\\/]{0,2}[0-9]){5,10}$,但结果却是错误的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-05 01:31:51

您可以使用锚定在字符串开始处的前瞻性来构建模式,该字符串测试两个“全局条件”之一:字符串长度或斜杠数。

要限制斜杠的数量,您可以这样设计您的模式:

代码语言:javascript
复制
^[0-9]*(?:[/\\][0-9]*){0,2}$

然后,只需在查找断言(?=...)中添加字符串长度的条件即可。

代码语言:javascript
复制
^(?=.{5,10}$)[0-9]*(?:[/\\][0-9]*){0,2}$

(请注意,只有在模式由斜杠分隔时,才必须转义正斜杠。否则,斜杠不是一个特殊的字符。)

票数 2
EN

Stack Overflow用户

发布于 2018-02-05 01:37:13

以下正则表达式应该完成此工作:

代码语言:javascript
复制
^(?=[^\\\/]*(?:[\\\/][^\\\/]*){0,2}$)[\d\\\/]{5,10}$

访问此链接来尝试一个工作演示。

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

https://stackoverflow.com/questions/48614591

复制
相关文章

相似问题

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