将文件夹路径与带正斜杠的正则表达式匹配

matching a folder path with regex with forward slash

我有以下正则表达式来匹配文件夹名称。我想要得到的是将字符串与字母、数字、点、连字符、下划线和正斜杠匹配,这样字符串就不需要以正向存储或点开头或结尾:

/^([a-zA-Z0-9_][a-zA-Z0-9.\/_\-])[.a-zA-Z0-9_-]{1,253}[^(.|/|\)]$/

我需要匹配文件夹名称 foo.com/sdsds

但是正则表达式不匹配/

您可以使用

^(?![\/.])[\w.\/-]{1,253}$(?<![.\/])

regex demo详情:

  • ^ - 字符串开头
  • (?![\/.]) - 不允许 /. 紧靠当前位置的右侧
  • [\w.\/-]{1,253} - 1 到 123 个数字、字母、下划线、./- 个字符
  • $(?<![.\/]) - 字符串结尾,前面没有 ./