python3-正则表达式~match

#正则
import re

#步骤1:生成pattern对象
pattern=re.compile(r'\d+')#表示匹配一个或多个数字

#步骤2:
m=pattern.match('one1two2 ten10')#从头匹配
print(m)

m = pattern.match('111222onetwo111222')
print(m) #111222

m = pattern.match('1onetwo111222')
print(m) #1

pattern2= re.compile(r'\d*')
m = pattern2.match('onetwo111222')
print(m)#match=''> 表示匹配到了,匹配内容为''

m = pattern.match("one12twothree34four",3)
print(m) #12
print(m.group(0))#12

# print(m.group(2))#IndexError: no such group
print(m.start())
print(m.end())
print(m.span())
# pattern.search()
# pattern.findall()
# pattern.finditer()
# pattern.split()
# pattern.sub()

#分组
pattern3=re.compile(r'([a-z]+) ([a-z]+)')
m=pattern3.match('hello world!')
print(m)#match='hello world'>

# print(m.group())#hello world
# print(m.group(0)) #0可省略
# print(m.group(1)) #hello
# print(m.group(2)) #world

print(m.groups()) #('hello', 'world')
print(m.groups()[0]) #hello
print(m.groups()[1]) #world
#分组举例
pattern4=re.compile(r'([a-z]+)=([a-zA-Z0-9]+)')
m=pattern4.match('name=loriA1')
print(m)

# print(m.group(0))
# print(m.group(1)) #键:name
# print(m.group(2))#值:lori

/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /Users/apple/PycharmProjects/stage4/spider/2018——0307/02regular.py
None
<_sre.SRE_Match object; span=(0, 6), match='111222'>
<_sre.SRE_Match object; span=(0, 1), match='1'>
<_sre.SRE_Match object; span=(0, 0), match=''>
<_sre.SRE_Match object; span=(3, 5), match='12'>
12
3
5
(3, 5)
<_sre.SRE_Match object; span=(0, 11), match='hello world'>
('hello', 'world')
hello
world
<_sre.SRE_Match object; span=(0, 11), match='name=loriA1'>


Process finished with exit code 0

猜你喜欢

转载自blog.csdn.net/zbrj12345/article/details/80195504