正则表达式

python正则表达式

​ 是一个特殊字符序列,帮助检查一个字符串是否匹配你的要求;字母和数字也可以当作一个表达式

​ 郑子表达式要配合着re模块使用,re模块是内置模块

1. 正则表达式模式

​ ^ 匹配的是字符串的开头,使用方式:^world;

​ &匹配的是字符串的结尾,使用方式:$world;

​ ^world$,即匹配字符串world;

​ .匹配的是除了换行符符之外的任意字符;

​ […]用来匹配一组字符,例如[a,b,c]可以匹配abc中的任意一个;

​ […]用来匹配不在[]中的字符;表示非的意思;

​ *匹配0/多个表达式,与其他符号一起使用,如.*值得就是匹配0个任意字符或者多个任意字符;

​ +和*类似,匹配1个/多个表达式;

​ {整数}表示匹配n次表达式,如:x{2}表示匹配两次x;

​ {n,m}表示匹配n~m次表达式;

​ a|b匹配a或者b字符;

​ \w匹配字母数字及下划线;

​ \W(大写)匹配字母数字及下划线之外的字符;

​ (表达式)对表达式进行分组,即将表达式分隔开;

​ \s匹配任意空字符;

​ \S匹配任意非空字符;

​ \d匹配任意数字如:[0-9];

​ \D匹配任意非数字;

​ \A匹配字符串的开始;

2.re模块的使用

python中使用正则表达式
1.re.match(正则表达式,匹配字符).span()查询匹配到的字符串的索引

​ 注意只能用来匹配字符串的开头,如果不是其起始位置返回none

print(re.match('www','www.baidu.com').span())

结果显示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.re.match(正则表达式,匹配字符).span()则是用来搜索直到匹配位置,没找到报错

3.re.sub(re,repl,string,count)用来替换字符串中的匹配项

​ re:正则匹配的模式,repl:被替换成什么字符,string:被替换的字符串,count:模式匹配后替换的最大次数,默认0表示所有;

phone = '123-456-789#123456789'
num=re.sub('#.*$', 'x', phone)
s=re.sub('\D','123',phone)

4.re.compile()

​ 用来生成正则表达式对象,供match和search之类的函数使用就不需要写第一个参数了;之后还可以指定从哪个位置开始索引

p=re.complie('\d+')
p.match('xxx11',3,10)#一段范围内进行检索

5.findall()找到所有的匹配并返回一个列表

​ 使用多个模式匹配,返回的是列表,元素是元组

x = re.findall('\d+', phone)
print(x)
s = re.findall('(\w)=(\d+)', '123=123 and 456=456')
print(s)

d+‘, phone)
print(x)
s = re.findall(’(\w)=(\d+)', ‘123=123 and 456=456’)
print(s)


相关推荐

  1. 表达式

    2024-03-12 08:00:06       40 阅读
  2. 表达式

    2024-03-12 08:00:06       49 阅读
  3. 表达式

    2024-03-12 08:00:06       49 阅读
  4. 【Python】表达式

    2024-03-12 08:00:06       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-12 08:00:06       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-12 08:00:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-12 08:00:06       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-12 08:00:06       20 阅读

热门阅读

  1. 测试推拉视频

    2024-03-12 08:00:06       20 阅读
  2. 前端前置知识pnpm

    2024-03-12 08:00:06       21 阅读
  3. 分布式ID(7):Zookeeper实现分布式ID生成

    2024-03-12 08:00:06       23 阅读
  4. vue的axios是干什么的

    2024-03-12 08:00:06       22 阅读
  5. 迷宫可行路径数

    2024-03-12 08:00:06       27 阅读
  6. P1177 【模板】排序

    2024-03-12 08:00:06       23 阅读
  7. WebGL之使用纹理

    2024-03-12 08:00:06       20 阅读
  8. vue2 elementui 封装一个动态表格复杂组件

    2024-03-12 08:00:06       20 阅读
  9. tomcat的安全配置:

    2024-03-12 08:00:06       22 阅读
  10. Jenkins:持续集成与持续部署的利器

    2024-03-12 08:00:06       23 阅读