Python的正则表达式(一)
来源:互联网 发布:淘宝反渗透膜 编辑:程序博客网 时间:2024/06/06 02:19
Python的re模块是专门用来处理正则的
import re
字符匹配分普通字符和元字符,普通字符就是直接匹配,元字符是模糊匹配,今天学了几个元字符,mark一下
1、^
用于指定只和行首匹配
s=r'^t're.findall(s, 'tan, tbn, ttt')
返回tan中的t,注意^符号放于首位
如果要匹配^自身的字符,则使用转义符'\',这里和c语言的\n\r\t等类似
s=r'\^ta're.findall(s, 'tan, ^tan, ttt')
返回^ta,这里没限定是否在行首匹配,在任何位置都可以
2、$
用于指定只和行尾匹配
s=r't$'re.findall(s, 'tan, tbn, ant')
返回ant中的t,注意$符号放于末尾
如果要匹配$自身的字符,则使用转义符'\'
s=r't\$'re.findall(s, 'tan, t$bn, ant')
返回t&,同样没有限定在行尾匹配,任何位置都可以
3、[ ]
用于指定一个字符
s = r't[abc]n're.findall(s,'tan,tbn,tcn,tdn')
返回 tan tbn tcn,表示abc三字母中的任意一个匹配,同理[a-z]表示任意一个字母,[0-9]表示任意一个数字,[0123456789]这也可以!
在[]中的元字符都是不起作用的
s = r't[abc$]'re.findall(s,'ta,tb,t$,tt')
返回ta tb t$,不返回t,因为这里$不起行尾的作用,只是简单的一个‘$’字符
但^在[]中有取反的作用
s = r't[^abc]n're.findall(s,'tan,tbn,tcn,tdn')
返回tdn,意味着不取abc中的字母。那么如何像‘$’那样在[]表示字符呢
s = r'[abc^]t're.findall(s,'^t,at,bt,dt,^t')
这样既可,返回^t,at,bt,^t。
============================
继续之前的转义字符
\d 表示所有的十进制数
\D表示所有的非十进制数
\w表示所有的字母大小写和数字
\W表示所有的非字母大小写和数字
\s表示所有的空白[\t\n]
\S表示所有的非空白
============重复===============
s = r'^010-[0-9]{8}'re.findall(s,'010-81892274')
{n}表示前面的字符重复n次
{m,n}表示前面的字符重复m-n次
*匹配零次或多次
s = r'^010-[0-9]*'re.findall(s,'010-81892274')
返回010-81892274
?匹配零次或一次
s = r'^010-[0-9]?'re.findall(s,'010-81892274')
返回010-8
+至少匹配一次(贪婪)
s = r'^010-[0-9]+'re.findall(s,'010-81892274')
返回010-81892274
+?至少匹配一次(非贪婪)
s = r'^010-[0-9]+?'re.findall(s,'010-81892274')
返回010-8
0 0
- Python的正则表达式(一)
- Python正则表达式(一)
- Python正则表达式(一)
- Python正则表达式一
- python正则表达式一例
- Python正则表达式(一)
- Python正则表达式(一)
- Python正则表达式(一)
- Python:正则表达式(一)
- Python 3.6 正则表达式一
- python的正则表达式
- python 的正则表达式
- Python的正则表达式
- Python的正则表达式
- Python的正则表达式
- python的正则表达式
- Python的正则表达式
- python的正则表达式
- 对AlloyAnimation的理解
- ARM 汇编指令集
- SPOJ2666--Query On a Tree Ⅳ
- 机器学习算法汇总:人工神经网络、深度学习及其它
- STC-ISP快捷键
- Python的正则表达式(一)
- 待字闺中之相伴一生分析
- textView和textField
- weka[11] - DBSCAN
- linux下mysql主从同步配置
- ubuntu上安装sphinx报错
- HDUJ 2017 字符串统计
- 在线扩大数据库UNDO表空间
- nginx在windows下的安装,以及编写启动关闭nginx等操作的脚本