• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

关闭

返回栏目

关闭

返回python栏目

71 - 自带库 - re - 正则匹配

作者:

贺及楼

成为作者

更新日期:2024-11-08 11:25:36

re - 正则匹配

re库

Python 的 re 库提供正则表达式的支持,用于执行字符串搜索、替换、匹配和分割等操作。它使得处理文本数据更加灵活和强大,支持复杂的模式匹配和文本提取。re 库在文本分析、日志处理、数据清洗和任何需要模式识别的场景中非常有用,是文本处理和字符串操作的重要工具。

re库正则表达式使用

  1. 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取反
  1. 例子:
  2. import re
  3. pattern = ".*" # pattern 为要校验的规则
  4. data = "123p123" # data 为要进行校验的字符串
  5. result = re.match(pattern, data)
  6. print(result)
  7. #如果result不为None,则group方法则对result进行数据提取
  8. out = result.group()
  9. print(out)
  10. # 123p123

匹配到的次数

  1. pattern = re.compile(r'正则规则')
  2. matches = pattern.findall('字符串/文档')
  3. matches_count=len(matches)
  4. print("匹配到的次数为:",matches_count)

只保留大小写英文数字

只保留大小写英文数字的写法

  1. old_word = '啊asd!A:S,D123啊asd!A:S,D123啊asd!A:S,D123啊'
  2. new_word = re.sub(r'[^a-zA-Z0-9-]', '', old_word)
  3. print(new_word)
  4. ## asdASD123asdASD123asdASD123
  5. print(old_word)
  6. ## 啊asd!A:S,D123啊asd!A:S,D123啊asd!A:S,D123啊

只保留大小写英文数字