Skip to main content
 首页 » 编程设计

python之如何构建正则表达式捕获索引

2024年09月03日32sky-heaven

我已经在 uni 中为相对简单的表达式编写了正则表达式,但现在我正在努力使这个正确。一个句子可能看起来像这样:

"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] 来匹配 +组后。

请您参考如下方法:

你可以使用

re.sub(r'(?:\[\d+])+$', '', text) 

正则表达式匹配

  • (?: - 非捕获组的开始(用于对一系列较小的模式进行分组,这些模式将在它们立即连续出现时进行匹配)
    • \[ - [ 字符
    • \d+ - 1+ 位
    • ] - ] 字符
  • )+ - 一次或多次重复
  • $ - 字符串结尾。

参见 regex demo .