Python 正则表达式几个常用函数及简单使用

一、常用函数

二、正则表达式

^匹配字符串的开头
$匹配字符串的末尾
.匹配任意字符,除了换行符,当re.DOTALL标记被指定时,则可以匹配包括换行符的任意字符
*匹配0个或多个的表达式
+匹配1个或多个的表达式
?匹配0个或1个由前面的正则表达式定义的片段
[^...]不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符
{n}精确匹配 n 个前面表达式。例如 o{2} 不能匹配 "Bob" 中的 "o",但是能匹配 "food" 中的两个 o
{n, m}匹配 n 到 m 次由前面的正则表达式定义的片段
a | b匹配a或b
\w匹配字母数字及下划线,等价于'[A-Za-z0-9_]'
\W匹配非字母数字及下划线,等价于 '[^A-Za-z0-9_]'
\d匹配任意数字,等价于 [0-9]
\D匹配任意非数字,等价于 [^0-9]
[0-9]匹配任何数字。类似于 [0123456789]
[a-z]匹配任何小写字母
[a-zA-Z0-9]匹配任何字母及数字
\b匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'

三、简单使用

(1)直接使用函数匹配

import re
str = "联系电话:13011112222或13033336666"
res = re.search(r"1[35789]\d{9}", str)
if res:
    print("匹配成功:",res)  # 返回匹配到的第一个对象
    print(res.group())  # 分组打印该对象
else:
    print("匹配失败!")

# 输出
# 匹配成功: <re.Match object; span=(5, 16), match='13011112222'>
# 13011112222

(2)通过pattern对象匹配

import re
str = "I believe, for every drop of rain that falls, a flower grows!"
pattern = re.compile(r'\b[a-zA-Z]+\b')
res = pattern.findall(str)
if res:
    print("匹配成功:",res)

# 输出 
# 匹配成功: ['I', 'believe', 'for', 'every', 'drop', 'of', 'rain', 'that', 'falls', 'a', 'flower', 'grows']

注:

正则表达式(r'\b[a-zA-Z]+\b')前的 r , raw string(原生字符串)是用来处理转义问题的。

带有 r 表示字符串为非转义的原始字符串,让编译器忽略反斜杠,也就是忽略转义字符。当字符串里没有反斜杠时,这个 r 可有可无。

参考链接:

在python中使用正则表达式(一)

Python 正则表达式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值