正则表达匹配-(字符匹配表)

来源:互联网 发布:mysql入门书籍推荐 编辑:程序博客网 时间:2024/05/24 00:27

一。关键在于将信息写成一个正则表达式。我们先看正则表达式的常用语法:

1)单个字符:

.           匹配除换行之外的任意的一个字符

a|b        字符a或字符b

[afg]      a或者f或者g的一个字符        

[0-4]      0-4范围内的一个字符

[a-f]      a-f范围内的一个字符

[^m]       不是m的一个字符

\s         一个空格

\S         一个非空格

\d         [0-9]

\D         [^0-9]

\w         [0-9a-zA-Z]

\W         [^0-9a-zA-Z]

 

2)重复

紧跟在单个字符之后,表示多个这样类似的字符

*         重复 >=0 次

+         重复 >=1 次

?         重复 0或者1 次

{m}       重复m次。比如说 a{4}相当于aaaa,再比如说[1-3]{2}相当于[1-3][1-3]

{m, n}    重复m到n次。比如说a{2, 5}表示a重复2到5次。小于m次的重复,或者大于n次的重复都不符合条件。

 

正则表达          相符的字符串举例

[0-9]{3,5}       9678                 匹配0-9的数字3个到5个之内

a?b              b 或 ab   

a+b              aaaaab

 

3) 位置

^         字符串的起始位置,表示匹配必须放生在被查找文本开始处。

  例如: ^spam 意味着字符串必须以spam开始

$         字符串的结尾位置,表示该字符串必须以这个正则表达式的模式结束。

   例如:spam$ 意味着字符串必须以spam结尾

正则表达          相符的字符串举例        不相符字符串

^ab.*c$          abeec               cabeec (如果用re.search(), 将无法找到。)

注意:在方括号内,普通的正则表达式符号不会被解释,就是说,不需要在前面加上倒斜杠转义?,(),*等字符

原创粉丝点击