标题:
[问题求助]
求教一个Python正则表达式
[打印本页]
作者:
netdzb
时间:
2020-6-7 18:15
标题:
求教一个Python正则表达式
match=re.compile("([idel])|(/d+):|(-?/d+)").match
上面的是嵌套了吗?
match=re.compile("([idel])|(/d+):|(-?/d+)")
写成这样python解释器也是认可的。
作者:
wujunkai
时间:
2020-6-7 20:09
回复
1#
netdzb
那个。。。不知道你在哪里感到疑惑
作者:
netdzb
时间:
2020-6-7 23:04
回复
2#
wujunkai
def tokenize(text, match=re.compile("([idel])|(/d+):|(-?/d+)").match):
i = 0
while i < len(text):
m = match(text, i)
s = m.group(m.lastindex)
i = m.end()
if m.lastindex == 2:
yield "s"
yield text[i:i+int(s)]
i = i + int(s)
else:
yield s
src = tokenize(text)
print(src)
====================
我完整的贴出来吧
函数定义成
def tokenize(text, match=re.compile("([idel])|(/d+):|(-?/d+)").match):
和
def tokenize(text, match=re.compile("([idel])|(/d+):|(-?/d+)")):
输出的src是一样的。
这里比较的难理解的点应该是yield。
这段代码究竟在干什么?
作者:
wujunkai
时间:
2020-6-9 12:32
回复
3#
netdzb
生成器唉……具体用法我也讲不清楚,反正就是返回一个可迭代对象就是了
欢迎光临 批处理之家 (http://www.bathome.net/)
Powered by Discuz! 7.2