PYTHON REGEX 从字符串中搜索所有 .sql 文件名

苏拉巴·查图韦迪

我正在编写一个代码,用于检查 Git Repo 并找出在最后一次(最近一次)提交后哪些文件发生了更改。这些是 .sql 文件。我得到的输出如下

b'commit 7cc9c8ac247f2c139c37081aef091b78c6d51011\nAuthor: blahblah <[email protected]>\nDate:   Wed Oct 17 18:46:37 2018 +0800\n\n    test subprocess output\n\n:000000 100644 0000000... e69de29... A\t123.sql\n:000000 100644 0000000... 617f0a5... A\tabc.sql\n:000000 100644 0000000... e69de29... A\ttestFile1\n:000000 100644 0000000... e69de29... A\txyz.sql\n' 

现在,我坚持使用正则表达式从字符串中提取文件名。我可以使用多个拆分来提取这些文件名,但是,这会很糟糕,并且会不必要地使我的代码复杂化。所以,我想使用re.findall因为它会给出一个我必须处理的文件名数组。

这里,预期输出是

['123.sql','abc.sql','xyz.sql']

需要正则表达式模式的帮助。

示例代码示例:

import re
files = b'commit 7cc9c8ac247f2c139c37081aef091b78c6d51011\nAuthor: blahblah <[email protected]>\nDate:   Wed Oct 17 18:46:37 2018 +0800\n\n    test subprocess output\n\n:000000 100644 0000000... e69de29... A\t123.sql\n:000000 100644 0000000... 617f0a5... A\tabc.sqlt\n:000000 100644 0000000... e69de29... A\ttestFile1\n:000000 100644 0000000... e69de29... A\txyz.sql\n'

正则表达式 = "需要帮助"

files = re.findall(regex, files.decode('utf-8'))
维克托·斯特里比尤夫

您可以匹配一个或多个单词字符,后跟 a.sql子字符串,但由于files是字节字符串,您还应该在字符串文字前加上b

re.findall(rb'\w+\.sql', files) 
            ^ ^^^^^^^^

细节

  • \w+- 1 个或多个字母、数字、_字符
  • \. - 一个点
  • sql- 一个sql子串。

请参阅Python 演示

import re
files = b'commit 7cc9c8ac247f2c139c37081aef091b78c6d51011\nAuthor: blahblah <[email protected]>\nDate:   Wed Oct 17 18:46:37 2018 +0800\n\n    test subprocess output\n\n:000000 100644 0000000... e69de29... A\t123.sql\n:000000 100644 0000000... 617f0a5... A\tabc.sqlt\n:000000 100644 0000000... e69de29... A\ttestFile1\n:000000 100644 0000000... e69de29... A\txyz.sql\n'
print(re.findall(rb'\w+\.sql', files))

输出:

[b'123.sql', b'abc.sql', b'xyz.sql']

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python中文件名中的冒号

来自分类Dev

从Python中的文件名中提取子字符串?

来自分类Dev

RegEx通过Adobe Brackets查找并替换SQL文件中的文件名

来自分类Dev

在Python中将文件名变量添加到HTML字符串中

来自分类Dev

Python 2.7中的文件名编码

来自分类Dev

在python的文件名中复制具有特定字符串的文件

来自分类Dev

通过Python中的连接字符串获取文件名

来自分类Dev

如何在Excel文件中搜索一组输入字符串并使用Python返回所有匹配的行?

来自分类Dev

在python中确保字符串适合作为文件名的优雅方法?

来自分类Dev

在两个表上联接,file_name有多余的字符串,regex从文件名中删除字符串并进行联接

来自分类Dev

使用文件名读取最新文件包含python中的字符串

来自分类Dev

Python获取列表中的所有文件名

来自分类Dev

python中的动态文件名

来自分类Dev

Python,字符串切片(从文件位置列表中获取文件名)

来自分类Dev

在Python中修复乱码的文件名?

来自分类Dev

搜索没有特定字符串的文件名

来自分类Dev

使用Python zipfile从ZIP中提取文件名中包含特定字符串的文件

来自分类Dev

python中的openCV和文件名

来自分类Dev

文件名包含空格时,搜索并替换目录中所有.php文件中的登录字符串

来自分类Dev

文件名中的空格python 3.4.2

来自分类Dev

python:检查文件名是否是另一个文件名的子字符串

来自分类Dev

Bash Regex:从文件名中删除字符

来自分类Dev

在字符串中搜索数字 - Regex Python

来自分类Dev

Java Regex 搜索两个文件名

来自分类Dev

无法写入我在 python 中的所有文件中找到的搜索字符串

来自分类Dev

Python:如何在目录名(不是单个文件名)中搜索特定的“字符串”

来自分类Dev

匹配文件名而不是python正则表达式中的子字符串

来自分类Dev

Python Pandas Regex:在列中搜索带有通配符的字符串并返回匹配项

来自分类Dev

在 Python 中处理文件名

Related 相关文章

  1. 1

    Python中文件名中的冒号

  2. 2

    从Python中的文件名中提取子字符串?

  3. 3

    RegEx通过Adobe Brackets查找并替换SQL文件中的文件名

  4. 4

    在Python中将文件名变量添加到HTML字符串中

  5. 5

    Python 2.7中的文件名编码

  6. 6

    在python的文件名中复制具有特定字符串的文件

  7. 7

    通过Python中的连接字符串获取文件名

  8. 8

    如何在Excel文件中搜索一组输入字符串并使用Python返回所有匹配的行?

  9. 9

    在python中确保字符串适合作为文件名的优雅方法?

  10. 10

    在两个表上联接,file_name有多余的字符串,regex从文件名中删除字符串并进行联接

  11. 11

    使用文件名读取最新文件包含python中的字符串

  12. 12

    Python获取列表中的所有文件名

  13. 13

    python中的动态文件名

  14. 14

    Python,字符串切片(从文件位置列表中获取文件名)

  15. 15

    在Python中修复乱码的文件名?

  16. 16

    搜索没有特定字符串的文件名

  17. 17

    使用Python zipfile从ZIP中提取文件名中包含特定字符串的文件

  18. 18

    python中的openCV和文件名

  19. 19

    文件名包含空格时,搜索并替换目录中所有.php文件中的登录字符串

  20. 20

    文件名中的空格python 3.4.2

  21. 21

    python:检查文件名是否是另一个文件名的子字符串

  22. 22

    Bash Regex:从文件名中删除字符

  23. 23

    在字符串中搜索数字 - Regex Python

  24. 24

    Java Regex 搜索两个文件名

  25. 25

    无法写入我在 python 中的所有文件中找到的搜索字符串

  26. 26

    Python:如何在目录名(不是单个文件名)中搜索特定的“字符串”

  27. 27

    匹配文件名而不是python正则表达式中的子字符串

  28. 28

    Python Pandas Regex:在列中搜索带有通配符的字符串并返回匹配项

  29. 29

    在 Python 中处理文件名

热门标签

归档