convert(value)这里貌似讲错了?

来源:10-11 re.sub正则替换

拖车板牙爵士

2018-12-26

import re
a = "c#pythonc#javac#javascriptc#"
def convert(value):
    print(value)
r = re.sub("c#",convert,a,8)
<_sre.SRE_Match object; span=(0, 2), match='c#'>
<_sre.SRE_Match object; span=(8, 10), match='c#'>
<_sre.SRE_Match object; span=(14, 16), match='c#'>
<_sre.SRE_Match object; span=(26, 28), match='c#'>

从打印的结果span=(0,2)可以看出,字符的下标是从0开始的,不是从1开始的,老师在课程中说span=(6,8)是取第七和第八,应该是取6,7【前闭后开】的

写回答

2回答

_Satan

2018-12-29

我也这么认为的


1
1
EmilLi
我也是认为是从0开始数的
2023-09-27
共1条回复

HF_HF

2018-12-27

span=(0,2)的0代表的是c#前面有0个字符,取的第一第二字符

1
0

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14447 学习 · 4438 问题

查看课程