我努力改变我目前的模式:
^[\\\/0-9]{5,10}$
它检查输入是否包含5-10个数字、斜杠或反斜杠。我想限制总的斜杠和反斜杠计数最多两。
例如,在更改后,12345/\\9不应有效:
我试着把它们分解成一个单独的组,如so ^([\\\/]{0,2}[0-9]){5,10}$,但结果却是错误的。
发布于 2018-02-05 01:31:51
您可以使用锚定在字符串开始处的前瞻性来构建模式,该字符串测试两个“全局条件”之一:字符串长度或斜杠数。
要限制斜杠的数量,您可以这样设计您的模式:
^[0-9]*(?:[/\\][0-9]*){0,2}$然后,只需在查找断言(?=...)中添加字符串长度的条件即可。
^(?=.{5,10}$)[0-9]*(?:[/\\][0-9]*){0,2}$(请注意,只有在模式由斜杠分隔时,才必须转义正斜杠。否则,斜杠不是一个特殊的字符。)
发布于 2018-02-05 01:37:13
https://stackoverflow.com/questions/48614591
复制相似问题