python - 匹配文件名开头和文件扩展名的正则表达式

标签 python sql regex sql-like

匹配以“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/

相关文章:

删除 R 中括号之前但逗号之后的字符

sql - 在 SQL 中,我可以使用 like 或 contains 子句连接数据以排除某些值吗?

regex - 'lazy' 和 'greedy' 在正则表达式中意味着什么?

python - 如何在 openpyxl 中使用字段名或列标题?

python - 将交互式 python 中的默认 repr 从builtins.repr 更改为 reprlib.repr

sql - SQL选择顶部1

mysql - 如何在 ZF2 中获取 SQL 查询中出现的次数

java - 从字符串中删除逗号和一些字符

python - 我想从 log.txt 文件中获取这个字符串怎么办

python - 尝试为非字符串复制 Python 的字符串实习功能