Python 的 re
库提供正则表达式的支持,用于执行字符串搜索、替换、匹配和分割等操作。它使得处理文本数据更加灵活和强大,支持复杂的模式匹配和文本提取。re
库在文本分析、日志处理、数据清洗和任何需要模式识别的场景中非常有用,是文本处理和字符串操作的重要工具。
import re
一个规则 | 规则中文 | + | 数量 | 数量中文 |
---|---|---|---|---|
. | 匹配任意1个字符(除了\n) | * | 0~N次 | |
[] | 匹配[]中列举的字符 | + | 1~N次 | |
\d | 数字,0-9 | ? | 0或1次 | |
\D | 匹配非数字 | {m} | m次 | |
\s | 匹配空白符,也就是 空格\tab | {m,} | 至少m次 | |
\S | 匹配非空白符,\s取反 | {m,n} | m到n次 | |
\w | 匹配单词字符, a-z, A-Z, 0-9, _ | |||
\W | 匹配非单词字符, \w取反 |
例子:
import re
pattern = ".*" # pattern 为要校验的规则
data = "123p123" # data 为要进行校验的字符串
result = re.match(pattern, data)
print(result)
#如果result不为None,则group方法则对result进行数据提取
out = result.group()
print(out)
# 123p123
pattern = re.compile(r'正则规则')
matches = pattern.findall('字符串/文档')
matches_count=len(matches)
print("匹配到的次数为:",matches_count)
只保留大小写英文数字的写法
old_word = '啊asd!A:S,D123啊asd!A:S,D123啊asd!A:S,D123啊'
new_word = re.sub(r'[^a-zA-Z0-9-]', '', old_word)
print(new_word)
## asdASD123asdASD123asdASD123
print(old_word)
## 啊asd!A:S,D123啊asd!A:S,D123啊asd!A:S,D123啊