Python的正则表达式练习之路(one\d*)

进一步理解正则表达式。熟悉了两个概念:元字符和预定义字符集。理解这个表达式:one\d*。就是one字符串后有一个或多个数字。

#对应的位置可以是字符集中任意字符。
#字符集中的字符可以逐个列出,也可以给出范围,如[abc]或[a-c]。
#[^abc]表示取反,即非abc。
#所有特殊字符在字符集中都失去其原有的特殊含义。用\反斜杠转义恢复特殊字符的特殊含义。

import re
str='one0bone1cone2done3gone4hone5lone6mone7none8pone9rone10sone11tone12zone13'

#元字符’*‘匹配前一个字符0或多次。
#'\d'为预定义字符集数字[0-9]。r'one\d*'也可以表示为r'one[0-9]*'
p=re.compile(r'one[0-9]*')

resultlist=p.findall(str)
print(" ".join(resultlist))

#返回的是b c d g h l...,去除掉匹配模式后的部分
#print中的"end"默认是换行,但可以是" ","*"之类的。
subs=re.split(p,str)
for sub in subs:
    print(sub,end="*")

iter=re.finditer(p,str)

#结果是这样子:one1:(5, 9)...
for i in iter:
    print(i.group(),end=':')
    print(i.span())

#统一替换。‘owe空格'。
print(re.sub(p,'owe ',str))

 

你可能感兴趣的:(Python的正则表达式练习之路(one\d*))