如何用正则表达式拒绝双斜杠

时间:2019-02-11 16:52:50

标签: regex

我想建立一个能做的正则表达式:

  • 允许任意多个字母数字字符
  • 允许在字符之间使用/
  • 必须以/
  • 结尾
  • 拒绝其他任何字符,例如*等。
  • 不允许彼此后面加两个/(例如a//b/

我已经构建了以下正则表达式:^[a-zA-Z0-9\/]+\/$

正则表达式匹配:a/b/c/1/2/c/ 我不希望匹配1//a/

这样的字符串

这可能吗?

1 个答案:

答案 0 :(得分:1)

您可能使用的正则表达式是

^[a-zA-Z0-9]+(?:\/[a-zA-Z0-9]+)*\/$

请参见regex demo

详细信息

  • ^-字符串的开头
  • [a-zA-Z0-9]+-1个或更多字母数字字符
  • (?:\/[a-zA-Z0-9]+)*-与以下模式的0个或多个重复匹配的非捕获组:
    • \/-一个/字符
    • [a-zA-Z0-9]+-1个或更多字母数字字符
  • \/-一个/字符
  • $-字符串的结尾。

请注意,如果未将/用作正则表达式定界符,或者未使用正则表达式定界符(在字符串文字,构造函数表示法等中),则不应转义/