匹配以“Run”开头且文件扩展名为“.py”的字符串(在本例中为文件名)的正则表达式是什么?
正则表达式应匹配以下任何一项:
RunFoo.py
RunBar.py
Run42.py
不应该匹配:
myRunFoo.py
RunBar.py1
Run42.txt
我正在寻找的 SQL 等价物是 ... LIKE 'Run%.py' ...
.
最佳答案
对于正则表达式,您可以使用:
re.match(r'Run.*\.py$')
快速解释:
- 。表示匹配任何字符。
- * 表示匹配前一个字符的任何重复(因此 .* 表示任何字符序列)
- \是转义显式点的转义
- $表示“字符串的结尾”,所以我们不匹配“Run_foo.py.txt”
但是,对于这项任务,您最好使用简单的字符串方法。即。
filename.startswith("Run") and filename.endswith(".py")
注意:如果您想要不区分大小写(即匹配“run.PY”和“Run.py”,请使用正则表达式的 re.I 选项,或转换为特定大小写(例如 filename.lower ()) 在使用字符串方法之前。
关于python - 匹配文件名开头和文件扩展名的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/185378/