1.正则表达式
正则表达式是一种强大的文本处理工具,用于搜索、匹配、替换等文本操作。
2.通过re模块实现正则表达式的操作
Python中的re模块是Python的标准库之一,它提供了对正则表达式的支持。正则表达式是一种强大的文本处理工具,用于搜索、匹配、替换等文本操作。re模块的主要功能包括:
- 编译正则表达式:将正则表达式的字符串形式编译成一个模式对(Pattern Object),这样可以提高匹配的效率。
- 匹配(查找):在字符串中查找与正则表达式匹配的部分。
- 搜索:在字符串中搜索第一个与正则表达式匹配的部分。
- 替换:在字符串中替换与正则表达式匹配的部分。
- 分割:使用正则表达式分割字符串。
可以参考下边函数:
注意split()得到的结果是一个列表
也可以参考下边使用:
基本用法
导入re模块import re
编译正则表达式
pattern = re.compile(r'\bfoo\b')
这里,r’\bfoo\b’是一个原始字符串表示的正则表达式,\b表示单词边界,foo是要匹配的文本。
原始字符串(在字符串前加r)用于避免在正则表达式中的转义字符被Python字符串的解析器处理。
匹配(match)
match()函数从字符串的起始位置开始匹配,如果起始位置匹配成功,则返回一个匹配对象,否则返回None。
match = pattern.match('foo bar')
if match: print("Match found:", match.group())
else: print("No match")
搜索(search)
search()函数在字符串中搜索第一个匹配项,如果找到匹配项,则返回一个匹配对象,否则返回None。
search = pattern.search('bar foo baz')
if search: print("Search found:", search.group())
else: print("No search found")
查找所有匹配项(findall)
findall()函数在字符串中查找所有与正则表达式匹配的项,并返回一个列表。
matches = pattern.findall('foo bar foo baz foo')
print(matches) # 输出: ['foo', 'foo', 'foo']
替换(sub)
sub()函数用于替换字符串中所有与正则表达式匹配的子串。
new_string = pattern.sub('bar', 'foo bar foo baz')
print(new_string) # 输出: bar bar bar baz
分割(split)
split()函数根据正则表达式的匹配项来分割字符串。
words = re.split(r'\s+', 'foo bar baz ')
print(words) # 输出: ['foo', 'bar', 'baz']