python正则表达式

1.原子

原子是正则表达式最基本的组成单位,普通字符(数字、字母和下划线)、非打印字符(换行符、制表符)、通用字符(\w、\d、\s等)和原子表都可以是原子 

import re
pattern = '\n'
pattern1 = "占卜家"
string = '''占卜家
小丑
魔术师
无面人
秘偶大师
诡法师
古代学者
奇迹师
诡秘侍者
愚者'''
result = re.search(pattern,string)
result1 = re.search(pattern1,string)
print(result)
print(result1)

输出结果:

<re.Match object; span=(3, 4), match='\n'>
<re.Match object; span=(0, 3), match='占卜家'>

 它的意思是我们找到了一个位置范围在索引(0,4)的匹配符“\n”

2.原字符 

任意匹配元字符

. (点号):匹配除换行符以外的任何单个字符。

        我们用 “..侍.” 会匹配一个“侍”字符前面带两个、后面带一个的字符,也就是我们匹配了“诡秘侍者”这个字符,比如我们想查“你接受这个命运吗”是谁说的,在这段字符前面加点号,就知道是空想天使亚当说的啦~

边界限制元字符

^ (脱字符):匹配输入字符串的开始位置。

$ (美元符号):匹配输入字符串的结束位置。

        想知道老尼尔的墓志铭是什么,直接搜全文占用计算机资源很大,如果我们知道大致范围,就可以用“^如果不能拯救她”从这一段开始搜索,也可以从“那就去陪伴她$”开始搜索。

限定符

* (星号):匹配前面的表达式零次或多次。

        我想要匹配克莱恩扮演小丑时的笑容。从文本“梅丽莎和班森略显茫然地望向对面的小丑,只见他满是红黄白等各色油彩的脸上,嘴角高高翘起,固定着一个快乐的笑容,浮夸的笑容,滑稽的笑容。 ”中匹配。

import re
string = "梅丽莎和班森略显茫然地望向对面的小丑,只见他满是红黄白等各色油彩的脸上,嘴角高高翘起,固定着一个快乐的笑容,浮夸的笑容,滑稽的笑容"
pattern1 = "...笑.*,"
result = re.search(pattern1,string)
print(result)

匹配结果中,因为*后面还有一个逗号,所以只有两个结果,没有逗号的话,前面的字符可以匹配3个。

<re.Match object; span=(48, 60), match='快乐的笑容,浮夸的笑容,'>

+ (加号):匹配前面的表达式一次或多次。

? (问号):匹配前面的表达式零次或一次。

{n,m}(大括号):匹配前面的原子至少至少出现n次,至多出现m次。

模式单元符 

() (圆括号):分组表达式,用于限定操作符的作用范围和优先级。

模式选择符

| (竖线):表示逻辑或,用于匹配多个表达式中的任意一个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值