正则表达式

正则表达式知识点

普通字符集

    \w				匹配字母数字及下划线
    \W				匹配非字母数字及下划线
    \s				匹配任意空白字符,等价于 [\t\n\r\f].
    \S				匹配任意非空白字符
    \d				匹配任意数字,等价于 [0-9]
    \D				匹配任意非数字
    \1...\9			匹配第n个分组的内容。
    [a-zA-Z0-9]		匹配任何字母及数字

数量字符集(默认贪婪匹配,想要抑制,加?)

    .		匹配任意字符,除了换行符,当re.DOTALL标记被指定时,可以匹配包括换行符的任意字符
    *       匹配前一个字符01次或多次
    +       匹配前一个字符1次或多次
    ?       匹配前一个字符0次或1{m}     匹配前一个字符m次
    {m,n}   匹配前一个字符m到n次
    {m,}    匹配前一个字符至少m次
    {,n}    匹配前一个字符0到n次,最多n次

边界匹配符

^			匹配字符串开头,如果是多行则匹配每一行的开头
[^][...]中,^表示否定,如非字母[^a-zA-Z],非数字[^0-9]
$			匹配字符串或一行的结尾,如果是多行匹配模式,则每一行的结尾
\A 			仅匹配字符串的开始,同^
\b 			匹配一个单词的边界,也就是指单词和空格间的位置
\B			等价于[^\b]表示匹配非单词边界
\Z			匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串。
\z 			匹配字符串结束

逻辑匹配符

|(或)
    匹配 | 左右任意一种正则表达式,如果左边表达式匹配上,匹配结束,不再匹配右边的正则表达式,该符号一般放在()中使用,如果没在圆括号中则它的范围是整个正则表达式
分组 (...)
    后向引用,用()括起来的正则表达式将被作为一个分组,从正则表达式的左边依次算起,有多少个左括号'(',就有 多少个分组,分组的编码从1依次加1,无论是括号中嵌套括号,并且分组表达式作为一个整体,后可接数量词。
\<number>
    引用分组匹配到的分组编号为<number>的字符串 如:\1...\9
(?P<name>...)
    命名分组,除了默认的分组编号外再指定一个别名分组
    注意:P是大写
(?P=name)
    引用别名为name的分组匹配,这个是在正则表达式中引用,表示匹配重复的字符串,也可以使用编号引用。
    注意:P是大写

特殊匹配符

(?imx)				正则表达式包含三种可选标志:i, m, 或 x 。只影响括号中的区域。
(?-imx)				正则表达式关闭 i, m, 或 x 可选标志。只影响括号中的区域。
(?:...)				匹配到的括号内字符串不作为分组
(?!pattern)			前向否定断言语法,表示否定开头, 只能用在正则表达式的开头,pattern是匹配模式,它后面的内容需要不					匹配 该正则表达式才匹配成功
(?<!pattern)		后向否定断言语法,表示否定结尾,前面的内容需要不匹配该pattern模式才匹配成功
(?=pattern)			前向肯定断言语法. 需要匹配pattren模式才能匹配成功,表示肯定前面的字符内容
(?<=pattern)		后向肯定断言语法, 需要匹配pattern模式才能匹配成功,表示肯定后面的字符内容
(?#...)				后面的内容将被作为注释而忽略
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值