正则表达式:用条件替换子字符串

2024-06-26 00:12:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有文本,这是一个例子

[04.1_Filialy 680031, Khabarovsk Territory, Khabarovsk, ul. District, 6, building b, office 3.] and [04.1_OGRN660050463454]

期望输出

<address> 680031, Khabarovsk Territory, Khabarovsk, ul. District, 6, building b, office 3.<\address> and [04.1_OGRN660050463454]

我需要如果str中的re.findall(r'\[[\d\.]+_(?:Filialy|MN)[^]]+],将第一个r'\[[\d\.]+_(?:Filialy|MN)'和r']'替换为<address><\address>

我该怎么做


Tags: and文本readdressul例子officebuilding
1条回答
网友
1楼 · 发布于 2024-06-26 00:12:56

[^]]+放入捕获组()并使用re.sub()

正则表达式:^{}替换:<address>\1<\\address>

Python代码

re.sub(r'\[[\d\.]+_(?:Filialy|MN)([^]]+)\]', r'<address>\1<\\address>', str)

输出:

<address> 680031, Khabarovsk Territory, Khabarovsk, ul. District, 6, building b, office 3.<\address> and [04.1_OGRN660050463454]

Code demo

相关问题 更多 >