我有什么?
[^\/][\d]*[^\/]
我仍然遇到的问题是:开头的斜杠仍然允许
有人知道吗?
预先感谢
答案 0 :(得分:3)
[^/]
匹配任何字符,而不仅仅是数字。此外,要验证整个字符串,您需要使用锚点,或将匹配项锚定在字符串开头和结尾的方法。
您可以使用
^(?!\/)[\d\/]*$(?<!\/)
或
^\d(?:[\/\d]*\d)?$
请参见regex demo #1和regex demo #2。
正则表达式1的详细信息
^
-字符串的开头(?!\/)
-开头不允许/
[\d\/]*
-0个或多个数字或斜杠$
-字符串结尾(?<!\/)
-如果结尾处有/
,则匹配失败。正则表达式2的详细信息
^
-字符串的开头\d
-一个数字(?:[\/\d]*\d)?
-可选的非捕获组,匹配0个或多个/
或数字字符,然后是数字$
-字符串的结尾。答案 1 :(得分:2)
尝试一下:
(^[\d]$|^[\d][\/\d]*[\d]$)
在demo上查看
^[\d] --- start with digit
[\/\d]* --- / or digit can be 0 or more times
[\d]$ --- end with digit
还有一种情况,仅1位数字:
^[\d]$ --- start and end digit only