time_sentences = ["Monday: The doctor's appointment is at 2:45pm.",
"Tuesday: The dentist's appointment is at 11:30 am.",
"Wednesday: At 7:00pm, there is a basketball game!",
"Thursday: Be back home by 11:15 pm at the latest.",
"Friday: Take the train at 08:10 am, arrive at 09:00am."]
df['text'].str.replace(r'(\w+day\b)', lambda x: x.group(0)[:3])
请注意,上面我们有一个组,因此我们使用0访问该组。你知道吗
我期待如果我们通过1为组,我们应该得到错误,因为超出范围像没有这样的组,但我们没有得到那个错误。你知道吗
df['text'].str.replace(r'(\w+day\b)', lambda x: x.group(1)[:3])
如果我们通过2组,那么我们就得到了超出范围的错误。你知道吗
df['text'].str.replace(r'(\w+day\b)', lambda x: x.group(2)[:3])
有什么原因吗?你知道吗
因为
()
捕获组将捕获的字符存储在第一个组索引中。.group()
或.group(0)
应返回所有匹配的字符,其中索引1或n返回由相应捕获组1或n捕获的所有字符如果从regex中删除那些
()
捕获组,则访问x.group(1)
时会抛出错误相关问题 更多 >
编程相关推荐