
【编辑推荐】
- 懂得Python asyncio内部实现机制
- 10行Python代码创建可视化地图
- 八款常用的Python GUI开辟框架推荐
- 有钱Python,没钱PHP,编程说话页鲜刀爱富
- Python加强的生成器:协程
今天写爬虫有时想到了初学正则表达式时刻,看过一篇文┞仿异常不错。检索一下还真的┞芬到了。
re模块

re.search
经常用match = re.search(pat, str)的情势。因为有可能匹配不到,所以re.search()后面一般用if statement。
re.match
re.match和re.search很类似,只是re.match是大年夜字符串的开首开端匹配。

常用正则字符意义
- a, X, 9,等字符匹配本身, 元字符不匹配本身,因为有特别意义,比如 . ^ $ * + ? { }[ ] \ | ( )
- . 英词句号,匹配随便率性字符,不包含'\n'
- \w 匹配'word'字符,[a-zA-Z0-9]
- \W 匹配非'word'字符
- \b 匹配'word'和'non-word'之间界线
- \s 匹配单个whitespace字符,space, newline, return, tab, form [\n\r\t\f]
- \S 匹配non-whitespace字符
- \t, \n, \r 匹配tab, newline, return
- \d 匹配数字[0-9]
- ^ 匹配字符串开首
- $ 匹配字符串结尾
反复
‘+’ 一或多次, ‘*’ 零或多次, ‘?’ 零或一次
方括号[]
[]类似于or
Square brackets can be used to indicate a set of chars, so [abc] matches 'a' or 'b' or 'c'.

Group Extraction圆括号()
有时刻须要提取匹配字符的一部分,比如刚才的邮箱,我们可能须要个中的username和hostname,这时刻可以用()分别把username和hostname包起来,就像r'([\w.-]+)@([\w.-]+)',如不雅匹配成功,那么pattern不改变,只是可以用match.group(1)和match.group(2)来username和hostname,match.group()结不雅不变。


findall and groups
()和findall()结合,如不雅包含一或多个group,就返回a list of tuples。

给re.search加^之后是一样的。
re.sub
re.sub(pat, WordStrment, str)在str里寻找和pattern匹配的字符串,然后用WordStrment调换。WordStrment可以包含\1或者\2来代替响应的group,然后实现局部调换。

推荐阅读
苹不雅智能语音助理Siri也有很多变更,将更为精准的懂得被问及的问题。此外,苹不雅还调剂了Siri的语音,让它听起来更人道化,更不像机械人。Siri还可以赞助你在iOS 11中翻译多种说话。北>>>详细阅读
地址:http://www.17bianji.com/lsqh/37185.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示