我曾在单写的正则表达式为相对简单的表达式,但现在我努力让这个权利。一个句子可能是这样的:
"Sentences can have no index in the end."
"Or one index.[10]"
"Or there even. Can be. Multiple sentences. And indices.[9][10][11]"
我想切断指数到底,就回到了一句。这是我第一次(为了公平起见这里很天真)做法:.*(\[\d+\])+
。但它并不完全做我需要。我觉得我在正确的小组是正确的。但.*
没有做正确的事,因为那时它只会匹配任何,并采取最后[0]
到小组赛+
after。
分析解答
您可以使用
re.sub(r'(?:\[\d+])+$', '', text)
正则表达式匹配
(?:
- 一个non-capturing组(成组的,当他们出现在眼前陆续将要匹配更小的模式序列)的开始-
\[
- 一个[
炭 \d+
- 1+数字]
- 一个]
字符
-
)+
- 一次或多次重复$
- string结束。
见正则demo。