【发布时间】:2022-01-06 11:42:31
【问题描述】:
我正在寻找一种可以捕捉和替代的模式:
“随便什么1。[文档1]这是一个文档处理”
“随便什么 1.这是一个文件处理”
但当然只有在两个数字相同的情况下
一般:
“随便什么N。[文档N]这是一个正在处理的文档”
如果有帮助,N 必须在 1 到 1000 之间(即最多三个字符)
import re
mystr = "whatever whatever 1. [document 1] This is a document dealing with"
mystr = re.sub(r'([1-9]+)(\s)?(\.)(\s+)(\[Document )(*****)',r'\1\2\3\4',mystr)
^^^^^^^^ ^^^^^^
我必须在*****中提到第一组
我可以使用:
mystr = re.sub(r'([1-9]+)(\s)?(\.)(\s+)(\[Document )([1-9]+)',r'\1\2\3\4',mystr)
当然,这将包括以下情况: “随便什么 56. [文档 877] 这是一个处理文档”
我检查了一堆没有成功的答案: Regex: How to match a string that contains repeated pattern? Capture repeated groups in python regex Capturing repeating subpatterns in Python regex Regex with repeating groups python regular expression repeating group matches
【问题讨论】:
标签: python regex regex-group