python中的正则表达式符号



正则表达式的符号
标记法描述正则表达式例子匹配的字符串
文字匹配文字字符串值foofoo
表达式1 | 表达式2匹配期中任何的一个表达式foo | bar | betfoo, bar, bet
.匹配任何字符,除了\nb.cb和c之间任何字符,如:bac, b9c, b#c等
^匹配字符串的开始^studentstudent开头的任何字符串,如student data
$匹配字符串的结尾/sh$任何/sh结尾的字符串
*匹配0或多个前置表达式[A-Za-z0-9]*z[0-9],匹配z0, z1, ..., z9
+匹配1或多个前置表达式[a-z]+\.com匹配.com前面至少一个字符
?匹配0或1个前置表达式goo?[dn]ot?,d或n后一个o,后面最多一个t,如do, dot, no, not
{N}匹配N个前置表达式[0-9]{3}匹配三个数字。
{M, N}匹配M到N个前置表达式[0-9]{5, 9}匹配5到9位的数字
[...]匹配任意单个的字符[aeiou]b[aeiou]匹配bat, bet, bit, bot, but
[cr][23][dp][o2],匹配长度为4的字符串,如c2dp, r3p2等
[..x-y..]匹配x到y的任意单个字符[0-9],[A-Za-z][0-9],匹配0到9的任意数字
[^...]不匹配任何任何字符或任意范围内的字符[^aeiou], [^A-Za-z0-9][^aeiou]匹配非元音字母
(*|+|?|{})?以上符号组合.*?[a-z] 
(...)分组表达式
匹配子组
([0-9]{3})?,
f(oo|u)bar
 \d+(\.\d*)?,匹配浮点数,如0.33, 72, 72.5, 75.
f(oo|u)bar,匹配foobar, fubar
正则表达式的特殊字符
\d匹配任何数字,同[0-9]
\D表示不匹配
data\d+.txt匹配data0.txt,data1.txt等
\w匹配任何数字、字母[A-Za-z_]\w+匹配第一个字符为字母,后面更字母或数字的字符串
\s匹配任何空字符
同\n\t\r\v\f,\S为不匹配
of\sthe 
\b匹配任何单词边界\bThe\b
\Bthe
匹配单词The
包含字符串the,但不是以the开头
\N匹配保存的子组Nprice: \16 
\c匹配特殊字符\., \\, \* 
\A(\D)匹配字符串的开始或结尾\ADear\ADear

正则表达式的扩展字符
(?iLmsux)在正则表达式本身的参数里面嵌入一个或多个特殊标志(?x), (?im) 
(?:...)未保存匹配项的组(?:\w+\.)*匹配字符串后面加一个.号,如google.,twitter.
但是不保存为子串
(?P<name>...)像普通的匹配组,只表示名称,而不标识数字ID(?P<data>) 
(?P=name)在同一字符串中,匹配由(?P<name>)分组的文字(?P=data) 
(?#...)指定注释,忽略所有的内容(?#comment)不匹配,只是注释
(?=...)如果...紧随出现则匹配,称为正向前瞻断言(?=.com) 
(?!...)如果...没有紧随出现则匹配,称为反正向前瞻断言(?!.com) 
(?<=...)如果...在前面出现则匹配,称为反向后瞻断言(?<=800-) 
(?<!...)如果...在前面没有出现则匹配,称为反反向后瞻断言(?<!192\.168\.) 
(?(id/name)Y|N)条件匹配,如果给定ID或名字的组存在则返回为Y
否则返回N
(?(1)y|1) 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值