re

  • 字符:
.  匹配除换行符以外的任意字符
\  转义字符,使后一个字符改变原来的意思
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^  匹配字符串的开始
$  匹配字符串的结束

  • 次数:
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
[]  字符集
()  分组
|

match

- match,从起始位置开始匹配,匹配成功返回一个对象,未匹配成功返回None
match(pattern, string, flags=0)
 # pattern: 正则模型
 # string : 要匹配的字符串
 # falgs  : 匹配模式
 -  flags有:
	re.S(DOTALL) 		 -  使.匹配包括换行在内的所有字符
	re.I(IGNORECASE)	 -  使匹配对大小写不敏感
	re.L(LOCALE) 		 - 	做本地化识别(locale-aware)匹配,法语等
	re.M(MULTILINE)		 -  多行匹配,影响^和$
	re.X(VERBOSE)		 -  该标志通过给予更灵活的格式以便将正则表达式写得更易于理解
	re.U				 -  根据Unicode字符集解析字符,这个标志影响\w,\W,\b,\B

origin = "hello world Perform case-insensitive matching66."

r = re.match("h\w+", origin)
print(r.group())     # 获取匹配到的所有结果
print(r.groups())    # 获取模型中匹配到的分组结果
print(r.groupdict()) # 获取模型中匹配到的分组结果
>>> hello
>>> ()
>>> {}


  • search
- search,浏览整个字符串去匹配第一个,未匹配成功返回None
  • re.match 与 re.search 的区别:
re.match   只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;
re.search  匹配整个字符串,直到找到一个匹配。
  • findall
- re.findall遍历匹配,可以获取字符串中所有匹配的字符串,返回一个列表。
r = re.findall('h(\w+)', origin)
print(r)
>>> ['ello', 'ing9999']

常用的20个表达式 :点我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值