我想从正则表达式所在的点到文本的末尾剪切一个文本。位置可能不同,所以我需要这个数字作为变量。
位置已经可以在studentnrRegex.search(text)
的结果中看到:
>>> studentnrRegex = re.compile(r'(Studentnr = 18\d\d\d\d\d\d\d\d)')
>>> start = studentnrRegex.search(text)
>>> start
<_sre.SRE_Match object; span=(2494, 2516), match='Studentnr = 1825010243'>
>>> myText = text[2494:]
>>> myText
'Studentnr = 1825010243\nTEXT = blablabla
我能直接从变量start得到变量的起始位置吗,在这里是2494
通过调用} 和^{} 方法,它们返回匹配的开始和结束位置
.search()
返回的match
对象具有^{你可以用一个不同的正则表达式来完成同样的事情,这个正则表达式匹配学生号及其后的所有内容。这将为您省去制作切片的麻烦:
只要指定了
re.DOTALL
标志,{8}
匹配8个重复的\d
,.*
匹配所有剩余的字符,直到字符串的结尾(包括换行符)。完全匹配是group0,这是match对象的.group()
方法的默认值。您可以通过m.group(1)
访问学号相关问题 更多 >
编程相关推荐