Python正则表达式

常用方法

  1. re.compile(pattern)

    • 编译正则表达式模式,返回一个模式对象,用于匹配操作。
    • 提高匹配效率,适用于多次匹配的情况。
  2. match()

    • 从字符串开头开始匹配,只有在字符串的开头匹配成功时,才返回匹配对象。
    • 常用于验证字符串是否符合某种模式。
  3. search()

    • 在字符串中搜索第一个匹配的子串,返回匹配对象。
    • 用于查找字符串中的某个模式。
  4. findall()

    • 返回所有匹配的子串,结果以列表的形式返回。
    • 用于获取字符串中所有符合模式的部分。
  5. group(n=0)

    • 从匹配对象中提取匹配的子串。
    • group(0) 返回整个匹配;group(1) 返回第一个捕获组,以此类推。

常用符号及其组合

  1. .

    • 匹配任意单个字符(除了换行符)。
    • 例如:a.b 匹配 "aab", "acb" 等,但不匹配 "ab"
  2. ^

    • 匹配字符串的开头。
    • 例如:^Hello 匹配以 "Hello" 开头的字符串。
  3. $

    • 匹配字符串的结尾。
    • 例如:world$ 匹配以 "world" 结尾的字符串。
  4. *

    • 匹配前面的字符 零次或多次
    • 例如:a* 匹配空字符串、"a", "aa" 等。
  5. +

    • 匹配前面的字符 一次或多次
    • 例如:a+ 匹配 "a", "aa", "aaa" 等,但不匹配空字符串。
  6. ?

    • 匹配前面的字符 零次或一次
    • 例如:a? 匹配空字符串、"a"
  7. {n}

    • 匹配前面的字符 恰好 n 次
    • 例如:a{3} 匹配 "aaa"
  8. {n,}

    • 匹配前面的字符 至少 n 次
    • 例如:a{2,} 匹配 "aa", "aaa", "aaaa" 等。
  9. {n,m}

    • 匹配前面的字符 至少 n 次,至多 m 次
    • 例如:a{2,4} 匹配 "aa", "aaa", "aaaa"
  10. []

    • 匹配方括号中的任意字符。
    • 例如:[abc] 匹配 "a", "b", "c" 中的任意一个。
  11. |

    • 表示逻辑“或”,匹配左右任意一侧的表达式。
    • 例如:a|b 匹配 "a""b"
  12. ()

    • 用于分组和捕获,匹配并保存组内的内容。
    • 例如:(abc)+ 匹配 "abc", "abcabc" 等。
  13. \d

    • 匹配任意数字字符,相当于 [0-9]
    • 例如:\d{3} 匹配任意三位数字。
  14. \w

    • 匹配任意字母、数字或下划线字符,相当于 [a-zA-Z0-9_]
    • 例如:\w+ 匹配一个或多个字母、数字或下划线。
  15. \s

    • 匹配任意空白字符(空格、制表符等)。
    • 例如:\s+ 匹配一个或多个空白字符。
  16. \D\W\S

    • 分别匹配非数字、非字母/数字/下划线、非空格。
  17. [abc]

    • 匹配方括号内的 任意字符(如 abc)。
  18. [^abc]

    • 匹配 不在方括号内 的任意字符。
  19. 不区分大小写

    • 使用 re.IGNORECASE 或简写 re.I 作为标志,不区分大小写匹配。
    • 例如:re.compile(r'spam', re.I) 可以匹配 "spam""Spam""SPAM"
  20. sub() 方法

    • 用于替换字符串中符合正则表达式的部分。
    • 语法:re.sub(pattern, repl, string)
    • 例如:re.sub(r'\d+', 'NUMBER', 'Order 123') 会将 "123" 替换为 "NUMBER"
  21. 三重引号表达式

    • 用三重引号 '''pattern'''"""pattern""" 来表示多行的正则表达式,以提高可读性。

示例组合

  1. 邮箱验证

    • r'\w+@\w+\.\w+' 匹配类似 "example@domain.com" 的邮箱格式。
  2. 电话号码验证

    • r'\d{3}-\d{3}-\d{4}' 匹配类似 "123-456-7890" 的电话号码格式。
  3. URL 验证

    • r'https?://\w+\.\w+' 匹配类似 "http://example.com""https://example.com" 的 URL。
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值