正则表达式的基本语法
2017-09-25 18:32
204 查看
正则表达式
常见的字符
\:转义字符,是
\后改变字符原来的意思。例如正则表达式
\\的匹配的就是一个
\。
[...]:字符集。相应的位置可以是字符集中的任意的字符。也就是匹配字符集中的元素,下面的例子就是一个介绍,不过也可以使用
[b-c]代替下面的
[bcd],也就是可以是给出的范围。如果在字符的前面加入
^就表示取反。
import re source = 'abeefzf' pattern = re.compile(r'a[bcd]e',re.IGNORECASE) output = pattern.match(source) print type(output) print output.group() # import re source = 'abeef' pattern = re.compile(r'a[bc]e',re.IGNORECASE) # pattern = re.compile(r'imooc') output = pattern.match(source) print type(output) print output.group() '''output <type '_sre.SRE_Match'> abe '''
预定义字符,可以写在[...]
中的
\d:数字0-9,也就是可是代替[0-9]。
\D:非数字,也就是
[^\d]。
\s:空白的字符。
\S:非空白的字符
[^\s]。
\w:可以是数字,字母的大小写,也就相当于
[A-Za-z0-9]。
\W:上面的逆。
数量词,主要是房子字符的后面,很重要
*:匹配前面的字符0次或无限次。
+:匹配前面的字符1次或无限次。
?:匹配前面的字符0次或1次。
{m}:匹配前一个字符m次。
{m,n}:匹配前一个字符m到n次。
下面举一个栗子。
import re source = 'abeeeeefzf' pattern = re.compile(r'abe+',re.IGNORECASE) output = pattern.findall(source) print type(output) print output '''output <type 'list'> ['abeeeee'] '''
边界匹配,从头或者从尾部开始
^:匹配字符串的开始。
$:匹配字符串的尾部。
下面的不常用吧,我感觉哈~
A:仅匹配字符串的开头。
Z:仅匹配字符串的尾部。
逻辑以及分组
|:在
|的左右两边任意的匹配。先匹配左边的表达式,成功匹配后,也就直接跳过后面的匹配
(...):被括号括起来的表达式作为一个分组,作为一个整体。从表达式左边开始,没遇到一个
(,编号+1
(P<name>...):同样是分组,除了原有的编号,同时指定额外的一个名字。
\<number>:引用编号的分组匹配到的字符串。
(?P=name):引用名字为的分组匹配的字符串。
相关文章推荐
- php正则表达式的基本语法
- 正则表达式基本语法
- 正则表达式基本语法
- JavaScript 正则表达式上——基本语法
- Asp.Net中的正则表达式问题可以在此提问,今后大家一起研究!贴出基本语法参考
- Java的正则表达式的基本语法(不全)
- 正则表达式基本语法
- JavaScript 正则表达式上——基本语法
- Python基础--正则表达式基本语法以及re模块
- 正则表达式学习之一:基本语法
- 正则表达式基本语法
- 正则表达式基本语法
- 正则表达式基本语法
- 正则表达式的基本语法
- 正则表达式基本语法详解
- 正则表达式基本语法
- 正则表达式基本语法笔记
- javascript正则表达式的语法几基本使用 十五
- 正则表达式基本语法
- 正则表达式基本语法