标签:http os 使用 ar art 代码 amp sp ad
学习资源来自ubuntu wiki
正则表达式,各种语言都有相关的库。就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言
- _大多数_字母和字符一般都会和自身匹配。例如,正则表达式 test 会和字符串“test”完全匹配。
- 正则表达式使用一些元字符来帮助字符匹配:
. ^ $ * + ? { [ ] \ | ( )
“[” 和 “]” : 它们常用来指定一个字符类别,所谓字符类别就是你想匹配的一个字符集。
字符可以单个列出,也可以用”-“分隔表示区间[a-z].
\d
: 相当于[0-9]\D
: 匹配任何非数字字符;相当于[0-9]\s
: 匹配任何空白字符;相当于[ \t\n\r\f\v ]\S
: 匹配任何非空白字符;相当于[ \t\n\r\f\v ]
‘\w‘ : 匹配任何字母数字字符;相当于[a-zA-Z0-9_]\W
: …; 相当于[^a-zA-Z0-9_]
举个栗子:[\s,.]将匹配任何空白字符”,“或者”.”
正则表达式的另一个功能是你可以指定正则表达式的一部分的重复次数。
- 我们先来看第一个重复功能的元字符* . * 并不匹配字符”*“;他可以指定前一个字符可以被
匹配0次或者多次。“ca*t” 可以匹配 “ct”,“caaat”
正则表达式被编译成
RegexObject
实例,可以为不同的操作提供方法,如模式匹配搜索或字符串替换。import re p = re.compile(‘ab\*‘) print p <\_sre.SRE\_Pattern object at 0xb76e1a70>
几个重要的方法(regexobject的方法):
match()
: 决定re是否在字符串刚开始的位置匹配search()
: 扫描字符串,找到这个re匹配的位置findall()
: 找到re匹配的所有子串,作为一个列表
返回finditer()
: 找到re匹配的所有自串,并把他们作为一个迭代器返回几个MatchObject的重要方法:
>> m = p.match( ‘tempo‘) >> print m <_sre.SRE_Match object at 80c4f68>
group()
: 返回被re匹配的字符串start()
: 返回匹配开始的位置end()
: 返回结束的位置span()
: 返回一个元组包含匹配(开始,结束)的位置
import re str = "http://www.oschina.net/?code=QlSJi2&state=" pattern = re.compile(‘code=\w+\&‘) match = pattern.search(str) if match: print match.group(), match.span()
pyqt学习基础 4 -插曲- python 正则表达式学习
标签:http os 使用 ar art 代码 amp sp ad
原文地址:http://my.oschina.net/zjuysw/blog/306018