gpt4 book ai didi

正则表达式捕获不包含目录链接的所有文件路径

转载 作者:行者123 更新时间:2023-12-02 00:36:34 25 4
gpt4 key购买 nike

我正在尝试编写一个正则表达式来匹配具有以下特征的文件路径:

  1. 不包含/.//../
  2. 必须嵌套在 /tmp/media 中至少一个子目录的深处
  3. 必须以 .log 结尾

Here是我目前所拥有的:

\/tmp\/media\/(?!.*\.?\.\/)+(?:.*\.log)

这是我想要的结果(如果字符串不匹配,我引用不满足的要求):

/tmp/media/log.log             //NO-MATCH (2)
/tmp/media/test/log.log //MATCH
/tmp/media/../log.log //NO-MATCH (1)
/tmp/media/./log.log //NO-MATCH (1)
/tmp/media/test/../log.log //NO-MATCH (1)
/tmp/media/../test/log.log //NO-MATCH (1)
/tmp/media/.t/log.log //MATCH
/tmp/media/.../log.log //MATCH
/tmp/log.log //NO-MATCH (2)
/tmp/media/test/log.notlog //NO-MATCH (3)
/tmp/media/test/./log.log //NO-MATCH (1)

我已阅读 this question ,并成功实现了一些答案,但/tmp/media/log.log 在我不希望的时候仍然匹配。我怀疑这是因为 /media/log.log 之间的空字符串以某种方式满足 (?!.*\.?\.\/).

任何人都可以解释我做错了什么并帮助我纠正我的表情吗?

最佳答案

你可以试试这个:

^(?![^.]*\/\.\.?\/)\/tmp\/media\/(?:[^\/]+)*\/\w+\.log$

rubular link

关于正则表达式捕获不包含目录链接的所有文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4389277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com