python的re模块及正则表达式的使用
2015-03-17 15:30
716 查看
不知是因为自己太低端还是其他的什么原因,别人都说的正则表达式非常强大,可是我的意识中正则表达式有用,但总是觉得没有传说中的那么厉害。也有可能是自己没有真正的理解它吧。在python中再次偶遇,那就再来好好学习一番。
首先是通配符,点号(.)可以匹配除了换行符之外的任意一个字符,'.ython’可以匹配’python‘也可以匹配’jypthon‘。注意点号是匹配一个字符,不能使空更不能是多个。假如在需要匹配的字符串中包含了点号,这时候就需要转义符来实现,在re中使用(python\\.org)来匹配(python.org).
匹配字符集,使用[ ]表示,[pj]ython就表示匹配python或者jython,而非其他内容。使用[a-z]表示匹配任意一个小写字母;[a-zA-Z0-9]则表示匹配任意字母或数字。
反转字符集,可以在开头使用^字符[^abc]表示匹配除了a b c之外的任意字符。当然,如果匹配的内容中包括了^ [ ]等符号时也需要使用反转字符。
选择符和子模式,在字符串的每个字符都不一样的时候字符集是很好用的,但是如果想匹配字符创python和per呢,这个时候可以使用选择符“|”,python|per就表示匹配python或者per。有时候不需要对整个字符使用选择符,p(ython|er)表示的意义和上面一样,而小括号中的部分就被称为子模式。
可选项和重复子模式,(python)?为可选项,即该子模式存在或者不存在。(python)*表示模式重复0次或者多次,(python)+表示子模式重复一次或者多次,(python){m,n}表示重复m~n次。
匹配开头和结尾,匹配开头的时候使用^,如^http表示匹配以http开头的字符串,匹配结尾使用$符号,com$表示匹配以com为结尾的字符串。
some_text="gao xiang... huier"
import re
if re.search("xiang",some_text): #find the world in the text
print "found it"
if re.match("xiang",some_text): #macth the world from the s
print "found it,too"
str1=re.split("[. ]+",some_text)
print str1
str2=re.split("[. ]+",some_text,maxsplit=2) #split the text into 3 parts
print str2
str3=re.findall("[a-zA-Z]+",some_text) #find all the substring of the text
print str3
pattern="www.python.org"
str4 = re.escape(pattern)
print str4
关于正则表达式在python中的使用,
search(pattern,string)根据包含正则表达式在字符串中寻找,返回true 或 false
match(pattern,string)在字符串的开头出进行匹配
split(pattern,string,flags)根据模式对字符串进行分割,可以通过控制参数控制分割的子结构的数目
findall(pattern,string)列出所有匹配项
escape(string),自动将字符串中的所有特殊郑则仕字符转义
首先是通配符,点号(.)可以匹配除了换行符之外的任意一个字符,'.ython’可以匹配’python‘也可以匹配’jypthon‘。注意点号是匹配一个字符,不能使空更不能是多个。假如在需要匹配的字符串中包含了点号,这时候就需要转义符来实现,在re中使用(python\\.org)来匹配(python.org).
匹配字符集,使用[ ]表示,[pj]ython就表示匹配python或者jython,而非其他内容。使用[a-z]表示匹配任意一个小写字母;[a-zA-Z0-9]则表示匹配任意字母或数字。
反转字符集,可以在开头使用^字符[^abc]表示匹配除了a b c之外的任意字符。当然,如果匹配的内容中包括了^ [ ]等符号时也需要使用反转字符。
选择符和子模式,在字符串的每个字符都不一样的时候字符集是很好用的,但是如果想匹配字符创python和per呢,这个时候可以使用选择符“|”,python|per就表示匹配python或者per。有时候不需要对整个字符使用选择符,p(ython|er)表示的意义和上面一样,而小括号中的部分就被称为子模式。
可选项和重复子模式,(python)?为可选项,即该子模式存在或者不存在。(python)*表示模式重复0次或者多次,(python)+表示子模式重复一次或者多次,(python){m,n}表示重复m~n次。
匹配开头和结尾,匹配开头的时候使用^,如^http表示匹配以http开头的字符串,匹配结尾使用$符号,com$表示匹配以com为结尾的字符串。
some_text="gao xiang... huier"
import re
if re.search("xiang",some_text): #find the world in the text
print "found it"
if re.match("xiang",some_text): #macth the world from the s
print "found it,too"
str1=re.split("[. ]+",some_text)
print str1
str2=re.split("[. ]+",some_text,maxsplit=2) #split the text into 3 parts
print str2
str3=re.findall("[a-zA-Z]+",some_text) #find all the substring of the text
print str3
pattern="www.python.org"
str4 = re.escape(pattern)
print str4
关于正则表达式在python中的使用,
search(pattern,string)根据包含正则表达式在字符串中寻找,返回true 或 false
match(pattern,string)在字符串的开头出进行匹配
split(pattern,string,flags)根据模式对字符串进行分割,可以通过控制参数控制分割的子结构的数目
findall(pattern,string)列出所有匹配项
escape(string),自动将字符串中的所有特殊郑则仕字符转义
相关文章推荐
- Python中正则表达式(re模块)的使用
- python中re模块(正则表达式模块)的使用学习
- PYTHON RE模块 正则表达式的使用
- python正则表达式模块,re.sub的函数使用
- Python::re 模块 -- 在Python中使用正则表达式
- python 学习记录(2)—re 正则表达式模块的使用
- python 详解正则表达式的使用(re模块)
- python中正则表达式以及re模块的使用
- [Python] re(正则表达式) 模块使用方法
- Python 正则表达式re模块使用
- Python爬虫实践(七):正则表达式(2) re模块的使用
- PYTHON正则表达式 re模块使用说明
- python中利用re模块使用正则表达式
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
- PYTHON正则表达式 re模块使用说明
- Python 正则表达式 RE模块的使用方法
- Python 正则表达式_re模块_使用compile加速
- Python 正则表达式 RE模块的使用方法
- PYTHON正则表达式 re模块使用说明
- python 正则表达式 python re模块的使用