作用

  • 匹配和搜索:使用正则表达式可以从文本中查找匹配某个模式的字符串,例如查找所有包含特定单词的句子。
  • 替换:正则表达式可以用来替换字符串中匹配某个模式的部分,例如将所有出现的 “color” 替换为 “colour”。
  • 验证:可以使用正则表达式来验证一个字符串是否符合特定的格式,例如验证一个电话号码是否符合标准的格式。
  • 提取:正则表达式可以用来从字符串中提取特定的部分,例如提取一个电子邮件地址中的用户名和域名。

    网站:

    正则表达式在线测试 | 菜鸟工具
    image.png

    语法

    compile

    1. # compile() compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象
    2. re.compile(pattern[, flags])
    3. # pattern : 一个字符串形式的正则表达式
    4. # flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:
    5. # re.I 忽略大小写
    6. # re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
    7. # re.M 多行模式
    8. # re.S 即为 . 并且包括换行符在内的任意字符(. 不包括换行符)
    9. # re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库
    10. # re.X 为了增加可读性,忽略空格和 # 后面的注释
    11. mport re
    12. pattern = re.compile(r'([a-z]+) ([a-z]+)', re.I)
    13. m = pattern.match('Hello World Wide Web')
    14. print(m)

    findall

    ```python

    findall 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果有多个匹配模式,则返回元组列表,如果没有找到匹配的,则返回空列表。

    注意: match 和 search 是匹配一次 findall 匹配所有。

    findall(string[, pos[, endpos]])

    string : 待匹配的字符串。

    pos : 可选参数,指定字符串的起始位置,默认为 0。

    endpos : 可选参数,指定字符串的结束位置,默认为字符串的长度。

    import re

pattern = re.compile(r’\d+’) # 查找数字 result1 = pattern.findall(‘runoob 123 google 456’) result2 = pattern.findall(‘run88oob123google456’, 0, 10)

print(result1) # [‘123’, ‘456’] print(result2) # [‘88’, ‘12’]

  1. <a name="L86l3"></a>
  2. ### 符号
  3. ```python
  4. . * + ? \ [ ] ^ $ { } | ( )