首页 > 其他 > 详细

正则表达式

时间:2020-03-23 13:10:32      阅读:86      评论:0      收藏:0      [点我收藏+]

正则表达式re

1、使用流程

      1、创建编译对象 :p = re.compile("正则表达式")

      2、对字符串匹配 :r = p.match("字符串")

      3、获取匹配结果 :print(r.group())

2、常用方法

      1、match(s) :字符串开头的第1个,返回对象

      2、search(s):从开始往后找,匹配第1个,返回对象

      3、group()  :从match或search返回对象中取值

      4、findall():所有全部匹配,返回一个列表

3、表达式

      .  匹配任意字符(不能匹配\n)

      \d 数字

      \s 空白字符

      \S 非空白字符  

      [...] 包含[]内容 :A[BCD]E  --> ABE  ACE  ADE

      \w 字母、数字、_

      *  0次或多次

      ?  0次或1次

      +  1次或多次

      {m} m次

      {m,n} m-n次  AB{1,3}C --> ABC ABBC ABBBC

      贪婪匹配(.*) :在整个表达式匹配成功的前提下,尽可能多的匹配*

      非贪婪匹配(.*?) :在整个表达式匹配成功的前提下,尽可能少的匹配*

import re

s = asdffbrvgfbxdfcasdghxgwerfas2wqr5as3rtgfsw4tytgr
p = re.compile(as)
r = p.match(s)
r2 = p.search(s)
print(r)  #<re.Match object; span=(0, 2), match=‘as‘>
print(r.group())  #as
print(r2.group())  #as
print(p.findall(s))  #[‘as‘, ‘as‘, ‘as‘, ‘as‘]

s = "A B C D"
p1 = re.compile(\w+\s+\w+)
print(p1.findall(s))
# [‘A B‘,‘C D‘]
p2 = re.compile((\w+)\s+\w+)  #[‘A‘, ‘C‘]
# 第1步 :[‘A B‘,‘C D‘]
# 第2步 :[‘A‘,‘C‘]
print(p2.findall(s))  #[‘A B‘, ‘C D‘]
p3 = re.compile((\w+)\s+(\w+))
# 第1步 :[‘A B‘,‘C D‘]
# 第2步 :[(‘A‘,‘B‘),(‘C‘,‘D‘)]
print(p3.findall(s))  #[(‘A‘, ‘B‘), (‘C‘, ‘D‘)]

 

正则表达式

原文:https://www.cnblogs.com/hongliangzhao/p/12551476.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!