正则表达式将URL与不在根目录或一个指定文件夹中的文件匹配

时间:2014-12-22 15:27:34

标签: regex

我正在尝试提供一个正则表达式,该表达式将匹配网站上的所有文件夹,但根文件夹中的文件或我指定的一个特定文件夹除外。

我正在限制的GUI环境中使用Javascript / PERL实现它,所以有一些注意事项:

  • 我匹配整个网址并不重要,只是其中的一部分。
  • \ K不支持
  • 我无法使用分组结果

以下是一些例子:

不匹配根目录中的文件或指定文件夹中的文件,如:

  • example.com/index.html

  • example.com/dontmatchonme /

匹配所有其他文件/文件夹:

  • example.com/matchonthisfolder/test

  • example.com/matchonanyotherfolder/index.html


我可以使用example.com/(?!dontmatchonme/)匹配不在此特定文件夹中的所有内容但后来我丢失了根文件夹中的任何文件(我想保留)。

我非常感谢任何可以帮助我在一个正则表达式中解决此问题的建议或技巧。

1 个答案:

答案 0 :(得分:0)

^example.com\/(?!dontmatchonme\/).*\/
  • ^example.com匹配“site root”

  • (?!dontmatchonme\/)是零宽度负前瞻断言,与“dontmatchonme”不匹配

  • .*\/确保路径的其余部分中包含额外的/,这表明它不在根文件夹中

在此示例中,我使用反斜杠/转义了\个字符,因为这是它在perl中的工作方式。你可能需要省略这个