python正则表达式
来源:互联网 发布:linux进入用户命令 编辑:程序博客网 时间:2024/06/08 20:15
1. 什么是正则表达式?
(1)正则表达式由普通字符和元字符组成,通过此模式,用来匹配特定的内容。
(2)普通字符:包括大小写字母、数字。
(3)元字符:是一些特殊字符,这些字符并不表示字面上的含义,而会被解释为一些特定的含义。
(4)正则表达式区分大小写。
2.元字符
(1)匹配字符
.: 匹配任意单个字符
[]: 匹配指定范围内的任意单个字符
[0-9]: 数字
[a-z]: 小写字母
[A-Z]: 大写字母
[^ ]: 匹配指定范围外的任意单个字符(出现在[]中的^代表排除)
(2)匹配次数
*: 匹配前面的一个字符任意次,包括0次
+: 匹配其前面的字符1次或多次
?: 匹配其前面的字符1次或0次
{m, n}: 匹配其前面的字符至少m次,至多n次。
(3)匹配位置
^:行首
$:行尾
( ):分组, 作为一个整体,\1引用第一个小括号内匹配的内容,以此类推\2, \3
A|B:A整体 或者 B整体
(4)特殊符号
\d 匹配任何数字
\D 匹配非数字字符
\w 匹配字母、数字与下划线
\W 匹配不是字母、数字与下划线的字符
\s 匹配空白字符
\S 匹配非空白字符
\b 匹配单词的开始和结束
\B 匹配不是单词的开始和结束的位置
3.正则表达式模块re
正则表达式字符串: r’正则表达式’
(1)常用方法
compile(): 编译正则表达式
findall(): 返回匹配列表(如果有小括号, 返回小括号内正则匹配的内容)
match(): 从字符串的开头对模式进行匹配,如果成功,则返回一个对象, 如果失败, 则返回None。
>>> import re>>> m = re.match('foo', 'foo')>>> m<_sre.SRE_Match object at 0x7f77fa6af4a8>>>> m.group()'foo'>>> m = re.match('foo', 'bar')>>> m>>> m.group()Traceback (most recent call last): File "<stdin>", line 1, in <module>AttributeError: 'NoneType' object has no attribute 'group'
search(): (在字符串任意位置)如果搜索到成功的匹配对象, 否则返回None。
>>> m = re.match('foo', 'seafood')>>> m>>> m.group()Traceback (most recent call last): File "<stdin>", line 1, in <module>AttributeError: 'NoneType' object has no attribute 'group'>>> m = re.search('foo', 'seafood')>>> m<_sre.SRE_Match object at 0x7f77fa6af4a8>>>> m.group()'foo'
split(): 正则表达式作为分隔符把字符串分隔为一个列表,返回列表
sub()/subn(): 将某字符串中匹配正则表达式模式的部分进行替换。
(2)match()/search() 返回对象的方法
group():返回整个正则表达式匹配的字符串,同group(0)。
group(i): 正则表达式中第i个”()”括起来部分匹配的内容
groups():返回被整个正则表达式匹配的字符串组成的元组
start():返回匹配开始的位置
end():返回匹配结束的位置
span():返回一个元组包含匹配(开始, 结束)的位置
- python正则表达式学习
- c++正则表达式,python
- Python正则表达式(一)
- python的正则表达式
- Python正则表达式
- Python初学-正则表达式
- 正则表达式与python
- python正则表达式学习
- python正则表达式学习
- python正则表达式学习
- python正则表达式
- Python - 正则表达式
- Python正则表达式
- python正则表达式
- Python正则表达式指南
- Python正则表达式指南
- Python 正则表达式指南
- python 正则表达式
- jvm_outofmemory_JavaVMStackOOM
- 一种适合懒人的JSON解析方法
- Android 沉浸式状态栏的实现方法、状态栏透明
- 折半查找
- jvm_outofmemory_JavaVMStackSOF
- python正则表达式
- 关于IAR报 more than one storage class may not be specified 错误的问题
- Codeforces Round #406 (Div. 2) E. Till I Collapse
- OSG入门_场景图形与OpenSceneGraph概述02
- golang实现简易TCP服务以及TCP和UDP协议对比
- Hydra 实验学习笔记
- hibernate的核心接口
- 接上,优化滚动的效率
- 简单分析system_call中断处理过程