我很难改变目前的模式:
^[\\\/0-9]{5,10}$
检查输入是否包含5-10个数字,斜杠或反斜杠。 我想将总斜杠和反斜杠计数限制为最多两个。
e.g。更改后 12345/\\9
无效:
我尝试将它们分解为一个单独的组,如 ^([\\\/]{0,2}[0-9]){5,10}$
,但我得到了错误的匹配。
答案 0 :(得分:1)
你可以使用一个前瞻来构建一个模式,该前瞻锚定在字符串的开头,测试两个“全局条件”之一:字符串长度或斜杠数。
要限制斜线数量,您可以像这样设计模式:
filename user lastaccessdate
/bin/a.csv dory 2013-12-12
/bin/apps/b.csv nina 2014-01-01
然后你只需要在前瞻断言^[0-9]*(?:[/\\][0-9]*){0,2}$
中添加字符串长度的条件:
(?=...)
(请注意,只有当模式由斜杠分隔时才必须转义正斜杠。否则斜杠不是特殊字符。)
答案 1 :(得分:1)