首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

匹配没有'../‘的相对路径的正则表达式是什么?

要匹配没有'../'的相对路径的正则表达式,可以使用以下正则表达式:

代码语言:txt
复制
^(?!.*\/\.\.).*$

解释

  • ^ 表示字符串的开始。
  • (?!.*\/\.\.) 是一个负向前瞻断言,表示后面的内容不能包含'../'
    • .* 表示任意字符(除换行符外)出现零次或多次。
    • \/ 表示匹配斜杠'/'
    • \. 表示匹配点号'.'
    • . 表示匹配任意字符(除换行符外)。
  • .* 表示任意字符(除换行符外)出现零次或多次。
  • $ 表示字符串的结束。

示例

假设我们有以下路径列表:

代码语言:txt
复制
./dir1/file1.txt
./dir2/../dir3/file2.txt
./dir4/file3.txt

使用上述正则表达式进行匹配,结果如下:

  • ./dir1/file1.txt 匹配成功。
  • ./dir2/../dir3/file2.txt 匹配失败。
  • ./dir4/file3.txt 匹配成功。

应用场景

这个正则表达式可以用于验证用户输入的路径是否包含'../',以防止路径遍历攻击(Path Traversal Attack),确保路径的安全性。

参考链接

  • Regex101:在线正则表达式测试工具。

希望这个答案对你有帮助!如果有更多问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券