【问题标题】:Python RegEx matching file path with lowercase directory at startPython RegEx在开始时将文件路径与小写目录匹配
【发布时间】:2020-04-08 20:18:16
【问题描述】:

我正在尝试匹配 Python 3 中第一个文件夹以小写字母开头的文件路径。 文件路径开头应该匹配的东西:

/var/
/etc/
/tmp/
/private/
...

不应该匹配的东西:

/User/
/Library/
/System/
/User/etc/
/User/bin/
...

我尝试了以下正则表达式,但它不起作用:

/^(\/[a-z]\/)

谢谢!

【问题讨论】:

  • ^ 匹配文本或文本行的开头,并且在开头之后不匹配 /

标签: python regex python-3.x directory


【解决方案1】:

你们可能相处得很好

^/[a-z]\S+

a demo on regex101.com


Python:
import re

lst = ["/var/", "/etc/", "/tmp/", "/private/", "/User/", "/Library/", "/System/", "/User/etc/", "/User/bin/"]
rx = re.compile(r'^/[a-z]\S+')
filtered = [path for path in lst if rx.match(path)]
print(filtered)

【讨论】:

    【解决方案2】:

    您需要处理第一个小字符之后的所有字符。试试这个 -

    ^/[a-z].*/
    

    Demo

    【讨论】:

      猜你喜欢
      • 2019-07-30
      • 1970-01-01
      • 1970-01-01
      • 2012-03-05
      • 2019-01-04
      • 1970-01-01
      • 2020-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多