python 匹配多个正则表达式

在 Python 中,可以使用 re 模块来匹配正则表达式。

要匹配多个正则表达式,可以将它们放入一个列表中,然后循环遍历该列表并使用 re.search() re.match() 来进行匹配。

import re
text = "The phone number of the agent is 408-555-1234. Call soon!"
patterns = [r'\d{3}-\d{3}-\d{4}', r'\d{10}']
for pattern in patterns:
    match = re.search(pattern, text)
    if match:
        print("Phone number found:", match.group())
    else:
        print("No match found.")

上面的代码会依次匹配两个正则表达式 "r'\d{3}-\d{3}-\d{4}'" 和 "r'\d{10}'",如果匹配成功,就会输出 "Phone number found: 408-555-1234" 。

也可以使用 re.finditer()re.findall() 来匹配多个正则表达式,它们会返回迭代器或列表,可以循环遍历每个匹配项。

另外, Python 中还有一个模块 fnmatch可以匹配文件名,可以使用fnmatch.filter()来匹配多个文件名.

import fnmatch
files = ['a.txt', 'b.txt', 'c.txt', 'd.txt', 'e.txt']
for file in fnmatch.filter(files, '*.txt'):
    print(file)

这个例子将会输出所有以.txt结尾的文件.

  •