正则表达式的基本语法
来源:互联网 发布:python中strip 编辑:程序博客网 时间:2024/06/14 22:09
正则表达式
常见的字符
\
:转义字符,是\
后改变字符原来的意思。例如正则表达式\\
的匹配的就是一个\
。
[...]
:字符集。相应的位置可以是字符集中的任意的字符。也就是匹配字符集中的元素,下面的例子就是一个介绍,不过也可以使用 [b-c]
代替下面的[bcd]
,也就是可以是给出的范围。如果在字符的前面加入^
就表示取反。
import resource = 'abeefzf'pattern = re.compile(r'a[bcd]e',re.IGNORECASE)output = pattern.match(source)print type(output)print output.group()# import resource = '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 resource = '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)
:引用名字为的分组匹配的字符串。
阅读全文
0 0
- 正则表达式的基本语法
- 正则表达式的基本语法
- 正则表达式的基本语法
- 正则表达式的基本语法
- 正则表达式的基本语法
- 正则表达式的基本语法
- 正则表达式的基本语法
- 正则表达式的基本语法
- 正则表达式的基本语法
- 正则表达式的基本语法
- 正则表达式的基本语法
- 正则表达式的基本语法
- 正则表达式的基本语法
- 正则表达式的基本语法
- 正则表达式的基本语法
- 正则表达式的基本语法
- 正则表达式的基本语法
- 正则表达式的基本语法
- Hibernate的关联映射之多对一、一对多、多对多
- Ubuntu 16.04 安装 PostgreSQL 和 phpPgAdmin及404错误解决办法
- 读写parquet格式文件的几种方式
- 入坑系列----solr环境搭建
- 程序运行时间
- 正则表达式的基本语法
- 23中设计模式详解
- WEB_01_HTML表单_第一讲
- Mybatis学习笔记三 环境配置
- Java学习笔记(24)--可变参数方法(非常实用哦)
- webpack初体验
- Java--NIO&&AIO
- system的转义字符用法
- 基于vue-cli的vue项目之vuex的使用5------watch监听vuex内部数据变化