[英]Regex: replace substring with condition
I have text, it's example 我有文字,这是一个例子
[04.1_Filialy 680031, Khabarovsk Territory, Khabarovsk, ul. District, 6, building b, office 3.] and [04.1_OGRN660050463454]
Desire output 需求输出
<address> 680031, Khabarovsk Territory, Khabarovsk, ul. District, 6, building b, office 3.<\address> and [04.1_OGRN660050463454]
I need if re.findall(r'\\[[\\d\\.]+_(?:Filialy|MN)[^]]+]
in str, replace first r'\\[[\\d\\.]+_(?:Filialy|MN)'
and r']' to <address>
and <\\address>
. 我需要re.findall(r'\\[[\\d\\.]+_(?:Filialy|MN)[^]]+]
,替换第一个r'\\[[\\d\\.]+_(?:Filialy|MN)'
和r']'到<address>
和<\\address>
。
How can I do that? 我怎样才能做到这一点?
Place [^]]+
in capturing group ()
and use re.sub()
. 将[^]]+
放入捕获组()
然后使用re.sub()
。
Regex : \\[[\\d\\.]+_(?:Filialy|MN)([^]]+)\\]
Substitution: <address>\\1<\\\\address>
正则表达式 : \\[[\\d\\.]+_(?:Filialy|MN)([^]]+)\\]
替代: <address>\\1<\\\\address>
Python code : Python代码 :
re.sub(r'\[[\d\.]+_(?:Filialy|MN)([^]]+)\]', r'<address>\1<\\address>', str)
Output: 输出:
<address> 680031, Khabarovsk Territory, Khabarovsk, ul. District, 6, building b, office 3.<\address> and [04.1_OGRN660050463454]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.