Python——RegularExpressions正则表达式

以下是学习goole PYTHON教程过程中的一些笔记。
'# ' 后面的是输出,希望你能从中获取你想要的。

Regular Expressions
import re
match = re.search(pat, text) #match object

match = re.search('iig', 'called piiig')
#<_sre,SRE_Match object at 0xf7f7c448>
match.group()#'iig'

match = re.search('igs', 'called piig') #
match.group() #error

def Find(pat, text):
match = re.search(pat,text)
if match: print match.group()
else: print 'not found'

Find('ig', 'called piiig')
#ig
Find('hello', 'called piiig')
#not found

Find('...g', 'called piiig')
#iiig
Find('x...g', 'called piiig')
#not found
Find('..gs', 'called piiig')
#not found
Find('..g', 'called piig much better: xyzg')
#iig
Find('x..g', 'called piiig much better: xyzg')
#zyzg
Find(r'c\.l', 'c.lled piiig much better:xyzgs')
#c.l
Find(r':\w\w\w', 'blah :cat blah blah')
#cat
Find(r'\d\d\d', 'blah :123xxx ')
#123
Find(r'\d\s\d\s\d', '1 2 3')
#1 2 3
Find(r'\d\s+\d\s+\d', '1 2 3')
#1 2 3
Find(r':\w+', 'blah blah :kitten blabh blah')
#:kitten
Find(r':\w+', 'blah blah :kitten123 blabh blah')
#:kitten123
Find(r':\w+', 'blah blah :kitten123& blabh blah')
#:kitten123
Find(r':.+', 'blah blah :kitten123& blabh blah')
#blah blah :kitten123& blabh blah
Find(r':\S+', 'blah blah :kitten123&a=123&yatta blabh blah')
#kitten123&a=123&yatta
Find(r'\w+@\w+', 'blahnick.p@gmail.comyatta @')
#p@gmail
Find(r'[\w.]+@\w+', 'blahhi.nick.p@gmail.comyatta @')
Find(r'\w[\w.]+@\w+', 'blah . nick.p@gmail.comyatta @')
#nick.p@gmail
Find(r'\w[\w.]+@[\w.]+', 'blah.nick.p@gmail.comyatta @')

m = re.search(r'([\w.]+)@([\w.]+)', 'blah nick.p@gmail.comyatta @')
#<_sre.SRE_Match object at 0xF7F649F8>
m.group()
m.group(1)
#'nick.p'
m.group(2)
#'gmail.com'

re.findall(r'[\w.]+@[\w.]+', 'blahnick.p@gmail.comyatta foo@bar ')
#['nick.p@gmail.com', 'foo@bar']
re.findall(r'([\w.]+)@([\w.]+)', 'blahnick.p@gmail.comyatta foo@bar ')
#[('nick.p', 'gmail.com'), ('foo', 'bar')]

.#(dot) any char
\w#word char
\d #digit
\s #whitespace
\S #non-whitespace
+ #1 or more
* #0 or more
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值