锚定
锚定码 |
含义 |
^ |
字符串或行的开始 |
$ |
字符串或行的结束 |
\A |
字符串开始 |
\Z |
字符串结束 |
\b |
一个单词开头或末尾的空串 |
\B |
不在一个单词开头或末尾的空串 |
匹配字符串的第一个单词(或字母)
# 匹配字符串的第一个单词(或字母)
# ^ 表示字符串或行的开始,w+表示字母和数字
import re
# 文本
text = 'hello h123 abc123'
# 匹配规则
pattern = r'\bh\w*'
print(re.findall(pattern,text))
for i in re.finditer(pattern,text):
print(i)
>>>
['hello', 'h123']
<_sre.SRE_Match object; span=(0, 5), match='hello'>
<_sre.SRE_Match object; span=(6, 10), match='h123'>
# 匹配字符串的第一个单词(或字母)
# \A表示字符串的开始,w+表示字母和数字
import re
# 文本
text = 'hello world 123abc'
# 匹配规则
pattern = r'\A\w+'
print(re.findall(pattern,text))
for i in re.finditer(pattern,text):
print(i)
>>>
['hello']
<_sre.SRE_Match object; span=(0, 5), match='hello'>
匹配字符串最后一个单词
# 匹配字符串最后一个单词,跳过标点符号
# \w+ 表示1个或多个字母和数字
# \S* 表示0个或多个非空白符
# $ 表示字符串或行的结束
import re
# 文本
text = 'hello world 123abc'
# 匹配规则
pattern = r'\w+\S*$'
print(re.findall(pattern,text))
for i in re.finditer(pattern,text):
print(i)
>>>
['123abc']
<_sre.SRE_Match object; span=(12, 18), match='123abc'>
# 匹配字符串最后一个单词,跳过标点符号
# \Z 表示字符串或行的结束
import re
# 文本
text = 'hello world 123abc'
# 匹配规则
pattern = r'\w+\S*\Z'
print(re.findall(pattern,text))
for i in re.finditer(pattern,text):
print(i)
>>>
['123abc']
<_sre.SRE_Match object; span=(12, 18), match='123abc'>
匹配包含某字母
# 匹配包含字母'o'的单词
import re
# 文本
text = 'hello world oct 123abc'
# 匹配规则
pattern = r'\w*o\w*'
print(re.findall(pattern,text))
for i in re.finditer(pattern,text):
print(i)
>>>
['hello', 'world', 'oct']
<_sre.SRE_Match object; span=(0, 5), match='hello'>
<_sre.SRE_Match object; span=(6, 11), match='world'>
<_sre.SRE_Match object; span=(12, 15), match='oct'>
匹配某字母开头的单词
# 匹配字母'h'开头的单词
import re
# 文本
text = 'hello shanghai 123abc'
# 匹配规则
pattern = r'\bh\w*'
print(re.findall(pattern,text))
for i in re.finditer(pattern,text):
print(i)
>>>
['hello']
<_sre.SRE_Match object; span=(0, 5), match='hello'>
匹配某字母结尾的单词
# 匹配结尾为字母'o'的单词
import re
# 文本
text = 'hello our world'
# 匹配规则
pattern = r'\bh\w*'
print(re.findall(pattern,text))
for i in re.finditer(pattern,text):
print(i)
>>>
['hello']
<_sre.SRE_Match object; span=(0, 5), match='hello'>