正则表达式

正则表达式:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

在线测试http://tool.chinaz.com/regex/

1.元字符

量词

匹配内容

匹配除换行符以外的任意字符

\w

匹配字母或数字或下划线

\s

匹配任意的空白符

\d

匹配数字

\n

匹配一个换行符

\t

匹配一个制表符

\b

匹配一个单词的结尾

^

匹配字符串的开始

$

匹配字符串的结尾

\W

匹配非字母或数字或下划线

\D

匹配非数字

\S

匹配非空白符

a|b

匹配字符a或字符b

()

匹配括号内的表达式,也表示一个组

[...]

匹配字符组中的字符

[^...]

匹配除了字符组中字符的所有字符

2.量词

量词

用法说明

*

重复零次或更多次 

+

重复一次或更多次

?

重复零次或一次     

{n}

重复n次

{n,}

重复n次或更多次

{n,m}

重复n到m次

3.惰性匹配和贪婪匹配

贪婪匹配:尽可能多的匹配到结果.    ` * `, `+`, `{}`都是贪婪匹配

惰性匹配:尽可能少的匹配 .    `?`是惰性匹配

正则

待匹配字符

匹配

结果

说明

a.

abcdefgac

ab   ac

 只匹配a和a后面一个字符

a+abcdefgaca    aa出现一次或多次
a.*abcdefgacabcdefgac贪婪匹配 a后面的都能匹配
a.?abcdefgac惰性匹配,"a."

^a.

abcdefgac

ab

只从开头匹配"a."

 a.$

abcdefgac

ac

只匹配结尾的"a.$"  以acc结尾就无法匹配

4.分组

正则中用()进行分组,()的优先级最高

     \1获取第一个分组内的内容,(数小括号)

5.转义

如果要在正则中匹配正常的"\n"⽽不是"换⾏符"就需要对"\"进⾏转义, 变成'\\'.在python中, ⽆论是正则表达式, 还

是待匹配的内容, 都是以字符串的形式出现的, 在字符串中\也有特殊的含义, 本身还需要转义. 所以如果匹配⼀次"\n", 字符串中要写成'\\n', 那么正则⾥就要写成"\\\\n",这样就太麻烦了.

此时的正则是r'\\n'就可以做到(在前面加r表示字符串不进行转义,按照原样匹配,一个r解决所有.....)

6.字符组

用[ ]括起来,在[ ]内的内容会被匹配

例如[abc] 匹配a或b或c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值