python之正则表达式

目录

正则表达式

match

search

findall

元字符匹配

具体案例

正则表达式

  • 正则表达式又称规则表达式,是使用单个字符串来描述、匹配某个句法规则的字符串,常被用来检索、替换那些符合某个模式的文本
  • 正则表达式就是使用字符串去定义规则,并通过规则去验证字符串是否匹配
  • python正则表达式,使用re模块,并基于re模块的三个基础方法来做正则匹配(match、search、findall)

match

语法:变量=re.match(匹配规则,被匹配的字符串)

注意:从被匹配的开头进行匹配,匹配成功则返回匹配对象,匹配不成功则返回None

#导入re模块
import re
s="python language"
result=re.match("python",s)
print(result)#
print(result.span())#匹配的下标
print(result.group())#匹配的字符串

语法:变量=re.search(匹配规则,被匹配的字符串)

作用:搜索整个字符串,找出匹配的,从前向后,找到第一个后就停止不会继续向后,整个字符串都找不到,就返回None

#导入re模块
import re
s="i like python very much python yyds"
result=re.search("python",s)
print(result)#
print(result.span())
print(result.group())

findall

语法:列表对象=re.findall(匹配规则,被匹配的字符串)

注意:匹配整个字符串,找出全部匹配项,找不到则返回list:[]

#导入re模块
import re
s="i like python very much python yyds"
result=re.findall("python",s)
print(result)#['python', 'python']

元字符匹配

字符 功能
.(点) 匹配任意一个字符(除了\n),\.匹配自身
[] 匹配[]中列举任意一个字符
\d 匹配数字,即0-9
\D 匹配非数字
\s 匹配空白,即空格、tab键
\S 匹配非空白
\w 匹配大小写英文字母数字及下划线(单词字符)
\W 匹配非单词字符
* 匹配前一个规则字符出现了0到无数次
+ 匹配前一个规则字符出现了1到无数次
? 匹配前一个规则字符出现了0或1次
{m} 匹配前一个规则字符出现了m次
{m,} 匹配前一个规则字符出现了m到无数次
{m,n} 匹配前一个规则字符出现了m到n次
^ 匹配字符串开头
$ 匹配字符串结尾
| 匹配左右任意1个表达式
() 匹配括号里的内容

具体案例

#导入re模块
import re
s="123 python 987"
result=re.findall(r"(\d+)( python)",s)
print(result)#[('123', ' python')]

注意:字符串r标记表示当前字符串是原始字符串,即内部的转义字符无效而是普通字符

你可能感兴趣的:(python,python,正则表达式,mysql)