仅允许数字并且可以“包含”斜杠,并且不得以斜杠开头或结尾

时间:2020-04-23 15:02:23

标签: regex

我有什么?

[^\/][\d]*[^\/]

我仍然遇到的问题是:开头的斜杠仍然允许

有人知道吗?

预先感谢

2 个答案:

答案 0 :(得分:3)

[^/]匹配任何字符,而不仅仅是数字。此外,要验证整个字符串,您需要使用锚点,或将匹配项锚定在字符串开头和结尾的方法。

您可以使用

^(?!\/)[\d\/]*$(?<!\/)

^\d(?:[\/\d]*\d)?$

请参见regex demo #1regex 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