python - 构建用 2 个句点分隔文件名字符串的正则表达式

标签 python regex

我需要构建一个正则表达式,给定一串文件名,文件名中可能包含空格和 1 到 2 个点,返回文件名列表。

例如:

00.37.jpg 00.38.jpg Convert To 3 Channels.xml Deploy All Masks.ini

应该变成:

[00.37.jpg, 00.38.jpg, Convert To 3 Channels.xml, Deploy All Masks.ini]

我目前有一个执行此操作的正则表达式,但前提是文件名有一个句点。

正则表达式 = \?(.+?\.\w+)

最佳答案

你走在正确的轨道上,只需稍微修改你的正则表达式(添加一个可选的点+词组)就可以正常工作:

\ ?(.+?\.\w+(?:\.?\w+))

>>> string="00.37.jpg 00.38.jpg Convert To 3 Channels.xml Deploy All Masks.ini"
>>> re.findall(r"\ ?(.+?\.\w+\.?(?:\w+))", string)
['00.37.jpg', '00.38.jpg', 'Convert To 3 Channels.xml', 'Deploy All Masks.ini']

关于python - 构建用 2 个句点分隔文件名字符串的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52531853/

相关文章:

php - 从 JSON 字符串中删除所有不必要的空格(在 PHP 中)

python - 正则表达式。查找多次出现的模式

java - 用于匹配 URL 部分的正则表达式

Python请求模块没有从响应中获取cookie

python - pyqt5 tabwidget 垂直制表符水平文本左对齐

Python - 使用 Pandas 进行行计算

python - Pandas 忽略缺失的日期来查找百分位数

python - 在 argparse 中将额外的文本附加到 "--help"

regex - 正则表达式如何在 selenium 中工作?

regex - Postgres 正则表达式匹配 - 匹配一个字符或什么都不匹配