{site_name}

{site_name}

🌜 搜索

Python通配符模式是一种用于匹配字符串的模式,基于通配符(wildcards

Python 𝄐 0
python通配符怎么用,python带通配符的字符串匹配,通配符匹配leetcode,通配符^p,python的通配符,python 通配符 字符串
Python通配符模式是一种用于匹配字符串的模式,基于通配符(wildcards)来表示一个或多个字符的占位符,以便进行更灵活的字符串匹配。

Python中支持三种通配符:

- *:表示匹配任何字符序列(包括空序列)。
- ?:表示匹配任何单个字符。
- []:表示匹配方括号内的任何单个字符。

下面是几个例子:

1. 使用*匹配任意字符序列:

python
import fnmatch

# 匹配所有以abc开头的文件名
files = ['abc.txt', 'abc.doc', 'abc.jpg', 'def.txt']
matching_files = [file for file in files if fnmatch.fnmatch(file, 'abc*')]
print(matching_files)
# 输出: ['abc.txt', 'abc.doc', 'abc.jpg']


2. 使用?匹配任意单个字符:

python
import fnmatch

# 匹配所有以a开头,第二个字符为任意字符,以c结尾的文件名
files = ['abc.txt', 'adc.doc', 'aec.jpg', 'a-c.txt']
matching_files = [file for file in files if fnmatch.fnmatch(file, 'a?c*')]
print(matching_files)
# 输出: ['abc.txt', 'adc.doc']


3. 使用[]匹配指定字符:

python
import fnmatch

# 匹配所有以a、b、c开头的文件名
files = ['abc.txt', 'aac.doc', 'bbc.jpg', 'def.txt']
matching_files = [file for file in files if fnmatch.fnmatch(file, '[abc]*')]
print(matching_files)
# 输出: ['abc.txt', 'aac.doc', 'bbc.jpg']