加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式小析

发布时间:2020-12-14 06:45:19 所属栏目:百科 来源:网络整理
导读:1、正则表达式匹配的步骤 a.用"import re"导入正则表达式模块 b.用"re.compile()"函数创建一个Regex对象(使用原始字符串) c.向Regex对象的search()方法传入想查找的字符串,它返回一个Match对象 d.调用Match对象的group()方法,返回实际匹配文本的字符串 i

1、正则表达式匹配的步骤

a.用"import re"导入正则表达式模块

b.用"re.compile()"函数创建一个Regex对象(使用原始字符串)

c.向Regex对象的search()方法传入想查找的字符串,它返回一个Match对象

d.调用Match对象的group()方法,返回实际匹配文本的字符串

importre
spam='我的电话是:177-2345-6789'
PhonenumberRegex=re.compile(r'ddd-dddd-dddd')
Match=PhonenumberRegex.search(spam)
print('匹配到的电话号码是:'+Match.group())

2.建立自己的字符类型

d:表示0到9的所有数字

D:表示除0到9以外的所有字符

w:任意字母、数字和下划线(可以认为是匹配“单词”)

W:除字母、数字和下划线以外的任意字符

s:空格、制表符和换行(可以认为是“空白”)

S:除空格、制表符和换行以为的任意字符

[a-zA-Z0-9]:匹配所有小写、大写和数字

?:?前面的出现零次或者一次

*:*前面的出现零次或者多次

+:+前面的必须至少出现一次

{3}:{3}前面的出现三次

{3,5}:前面的出现三、四、五次

^:(插入字符)表示不在这个字符类中的所有字符。eg:(r'[^abcdefg]')不包含abcdefg的字符

(^'hello'):以hello开始的字符串

(r'd$'):匹配以数字结尾的字符串

r'^d+$':匹配从开始到结束都是数字的字符

.:(句点)通配符,匹配除换行以外的所有字符,但是只能匹配一个字符。

3.小知识点

1)不区分大小写

向re.compile()方法传入re.IGNORECASE或者re.I,作为第二个参数。

eg:Regex = re.compile(r'robss',re.I)

2)句点匹配换行字符

向re.compile()方法传入re.DOTALL,作为第二个参数。

Eg:Regex = re.compile(r'robbss',re.DOTALL|re.I)字符不区分大小写,并且句点匹配换行

3)方括号[]

在方括号内,普通的正则表达式符号不会被解释。

importre
Regex=re.compile(r'[.]')
Regex1=re.compile(r'.')
Match=Regex.findall('.asdqwe')
Match1=Regex1.findall('.asdqwe!@#$')
print(Match)
print(Match1)

输出为:

wKioL1mk6wiyhjczAAAH8YE4flA318.jpg

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读