码迷,mamicode.com
首页 > 编程语言 > 详细

python regularexpress1

时间:2017-11-10 12:52:55      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:span   ups   regular   com   字符串   smart   art   nal   搜索   

//test.py

1 import re

  2

  3 print (re.search(‘www‘, ‘www.myweb.com‘).span())

  4 print (re.search(‘com‘, ‘www.myweb.com‘).span())

  5

  6 line = ‘Cats are smarter than dogs‘

  7 #matchObj = re.search(r‘(.*) are (.*?) (.*?) (.+)‘, line, re.M|re.I)

  8 #matchObj = re.search(r‘(.*) are (.*?) .*‘, line, re.M|re.I)

  9 matchObj = re.search(r‘(.*) are (.*) .*‘, line, re.M|re.I)

 10 if matchObj:

 11         print ‘matchObj.group()‘, matchObj.group()

 12         print ‘matchObj.group(1)‘, matchObj.group(1)

 13         print ‘matchObj.group(2)‘, matchObj.group(2)

 14         print ‘matchObj.groups()‘, matchObj.groups()

 15 else:

 16         print ‘No match‘

 17

 18 phone = ‘2017-989-898‘ # this is one foreign phone number

 19 num = re.sub(r‘#.*$‘, ‘‘, phone)

 20 print ‘phone number: ‘,num

 21 num = re.sub(r‘\D‘, ‘‘, phone)

 22 print "phone number: ", num

 23

 24 def double(matched):

 25         value = int(matched.group(‘value‘))

 26         return str(value*2)

 27 s = ‘A23G4HFD567‘

 28 print re.sub(r‘(?P<value>\d+)‘, double, s)

//result

# python test.py
(0, 3)
(10, 13)
matchObj.group() Cats are smarter than dogs
matchObj.group(1) Cats
matchObj.group(2) smarter than
matchObj.groups() (‘Cats‘, ‘smarter than‘)
phone number: 2017-989-898
phone number: 2017989898
A46G8HFD1134

Finally:

稍微解释一下:

search 搜索匹配不是必须从字符串开始处匹配,任意位置匹配

span方法是转化匹配对象为原搜索字符串中的位置信息

r‘(.*) are (.*) .*‘正则表达式的含义:任意字符重复0次到多次,遇到 are,再次任意字符重复0-多次,直至遇到一个任意字符重复0-多次,显然最后的dogs之前会有smart than,如果是条件r‘(.*) are (.*?) .*‘, dog之前重复0-1次,那么就是smart

替换的正则表达,r‘#.*$‘,从#号开始到结尾,任意重复0-多次

r‘\D‘,匹配非数字

r‘(?P<value>\d+)‘,匹配数字1-多次,组取名字value,以double函数做替换项(字符串-》数字-》2倍-》字符串),匹配替换

 

其实,这个东西,你要用得着时,还是真有用啊!!!

python regularexpress1

标签:span   ups   regular   com   字符串   smart   art   nal   搜索   

原文地址:http://www.cnblogs.com/woodzcl/p/7813818.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!