python - 如何将所有 .csv 和 .xlsx 文件名与最少一个字符相匹配?

标签 python regex python-3.x

假设我有以下正则表达式 regex_ = r'^((?!~\$).)+\.(xls(x?)|csv)$' 和代码片段:

all_files = [f_path + filename for f_path, _, filenames in os.walk(curr_path) for filename in filenames if re.search(regex_, filename)]

其中 curr_path 是当前工作目录 - curr_path = os.getcwd()

我的解释是否正确:上面的代码检索了 curr_path 中属于 .csv.xlsx 扩展名的文件的所有文件名?

最佳答案

我的猜测是,您可能想到的表达方式可能是:

^(?:(?!~\$).)+\.(?:xlsx?|csv)$

这会使任何此类字符串失败:

~$.csv
~$.xls
~$.xlsx

并且它还需要在所需扩展名之前至少有一个字符。

DEMO

<小时/>

该表达式在 regex101.com 的右上角面板中进行了解释,如果您想探索/简化/修改它,请在this link中,如果您愿意,您可以观察它如何与一些示例输入匹配。

<小时/>

正则表达式电路

jex.im可视化正则表达式:

enter image description here

关于python - 如何将所有 .csv 和 .xlsx 文件名与最少一个字符相匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57263379/

相关文章:

python - 归并排序Python实现方法

python - django.core 序列化器和 Django Rest Framework 序列化器之间的区别

python - FastCGI 进程超出了配置的请求超时 - Azure 应用服务

javascript - 获取与正则表达式匹配的 HTML 单词的 XPATH

regex - Perl样式正则表达式中不区分大小写的delphi TRegEx问题

Python 语法错误 : invalid syntax end =''

python - 在pygame中临时保存图像

python - 从 sklearn Python 中的决策树在 pydot 中制作图形

python - cProfile.run 函数调用与复杂性

c++ - 如何使用正则表达式解析 SIP 消息的多行 header ?