正则表达式规则

正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。

表达式规则

普通字符

[abcd]匹配所有a b c d字符

[^abcd]匹配除了a b c d的字符

[A-Z]匹配所有大写字母

[a-z]匹配所有小写字母

/./匹配除\n \r之外的字符,相当于[^\n\r]

[\s]匹配所有空白符,包括换行符 [\S]匹配所有非空白符

/\w/匹配字母、数字、下划线 等于[A-Za-z0-9]

非打印字符

\cx 匹配control+x(字符),x为A-Z,a-z

\f 匹配换页符

\n匹配换行符

\r 匹配回车符

\t 匹配制表符

\v匹配垂直制表符

特殊字符

^字符串开始位置

$ 字符串结尾位置

*匹配子表达式零次或多次

+匹配子表达式一次或多次

?匹配子表达式零次或多次,当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 "oooo",'o+?' 将匹配单个 "o",而 'o+' 将匹配所有 'o'。

x|y 匹配x或y

\b 匹配单词边界,如oo\b可以匹配"too"中的oo,不能匹配"food"中的oo

\B匹配非单词边界,如oo\B可以匹配"food"中的oo,不能匹配"too"中的oo

\d匹配数字字符,等于[0-9]

\D匹配非数字字符,等于[^0-9]

限定符

{n}n是非负整数,如o{2}匹配两个o

{n,}n非负整数,如o{2,}匹配两个以上o

{n,m}n<=m,如o{1,3}匹配前三个o

选择

圆括号()将所有选择项括起来,相邻选择项用|分隔,()会把每个分组匹配的值保存,

如23465safjkh797809bjkhkh0djkahd,匹配规则/([1-9])[a-z]+)/

匹配两个结果n[0]=5safjkh n[1]=9bjkhkh

exp1(?=exp2):查找 exp2 前面的 exp1

(?<=exp2)exp1:查找 exp2 后面的 exp1

exp1(?!exp2):查找后面不是 exp2 的 exp1

(?<!exp2)exp1:查找前面不是 exp2 的 exp1

修饰符

i 搜索时不区分大小写

g 全局匹配

m 多行匹配

s 特殊字符.包含换行符\n

运算优先级

正则表达式从左往右进行计算,优先级如下

转义符\

圆括号和方括号(), (?:), (?=), []

限定符*, +, ?, {n}, {n,}, {n,m}

定位点和序列(即:位置和顺序)^, $, \任何元字符、任何字符

替换,或:|

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Python正则表达式是一种强大的字符串处理工具,用于匹配、搜索和替换字符串中的字符模式。它可以通过提供一组规则来定义要匹配的模式。 Python正则表达式规则基于一些特殊字符和操作符,用于描述和定义不同类型的模式,其中一些重要的规则包括: 1. 普通字符:普通的字符在正则表达式中直接匹配对应的字符,例如正则表达式中的字符"a"可以匹配任何字符串中的字符"a"。 2. 特殊字符:正则表达式中有一些特殊字符具有特定的含义,例如"\d"表示匹配任何一个数字字符,"\w"表示匹配任何一个字母数字字符。 3. 字符类:字符类用于匹配一组字符,可以使用"[]"来定义字符类,例如"[aeiou]"表示匹配任何一个元音字母。 4. 量词:量词用于指定匹配模式的数量,例如"*"表示匹配前一个元素零次或多次,"+"表示匹配前一个元素一次或多次,"?"表示匹配前一个元素零次或一次。 5. 边界:边界用于指定匹配模式的位置,例如"^"表示匹配字符串的开头位置,"$"表示匹配字符串的结尾位置。 6. 分组:分组用于将多个表达式组合在一起,并对其进行匹配,可以使用"()"来定义分组,例如"(a|b)"表示匹配字符"a"或字符"b"。 以上是Python正则表达式的一些基本规则,可以根据具体需求灵活使用,通过编写正确的正则表达式,可以有效地实现字符串的模式匹配、搜索和替换操作。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值