正则表达式替换python中分隔符之间的文本
对于以下情况,我需要修复一些位于分隔符之间的文本:正则表达式替换python中分隔符之间的文本,python,regex,Python,Regex,对于以下情况,我需要修复一些位于分隔符之间的文本: 案例1:{12345}(卷曲之间的数字)应变为项目12345(添加“项目”,删除大括号)。 案例2:[999](方括号内的数字)应变为总数_999 所以这个字符串:{242424}来自X[100]块,链接到Y的{575757}用于[500]个单元 应如下所示:来自X总计100个散货的物料_242424,链接到来自Y总计500个单元的物料_575757 如何使用regex实现这一点?这应该让您开始: s = '{123} and [456]'
案例1:
{12345}
(卷曲之间的数字)应变为项目12345
(添加“项目”,删除大括号)。案例2:
[999]
(方括号内的数字)应变为总数_999
所以这个字符串:{242424}来自X[100]块,链接到Y的{575757}用于[500]个单元
应如下所示:来自X总计100个散货的物料_242424,链接到来自Y总计500个单元的物料_575757
如何使用regex实现这一点?这应该让您开始:
s = '{123} and [456]'
s = re.sub(r'\{(.+?)\}', r'foo_\1', s)
s = re.sub(r'\[(.+?)\]', r'bar_\1', s)
print s
这应该让你开始:
s = '{123} and [456]'
s = re.sub(r'\{(.+?)\}', r'foo_\1', s)
s = re.sub(r'\[(.+?)\]', r'bar_\1', s)
print s
到目前为止你想到了什么?嗨,几乎什么都没有。我不知道如何将文本从标记中分离出来,以及如何用多个替换定义多个模式。这对我来说是一个完全的黑洞,我找不到任何答案如果你花了几个小时,假设你是编程新手/regex,应该在这里分享一些东西。好吧,根据下面的答案,我猜我的错误是把括号放在卷曲的外面。这给了我一个不好的结果。到目前为止你想出了什么?嗨,几乎没什么。我不知道如何将文本从标记中分离出来,以及如何用多个替换定义多个模式。这对我来说是一个完全的黑洞,我找不到任何答案如果你花了几个小时,假设你是编程新手/regex,应该在这里分享一些东西。好吧,根据下面的答案,我猜我的错误是把括号放在卷曲的外面。这给了我一个不好的结果。谢谢!是否可以在同一表达式中包含另一组(方括号)?或者我应该使用第二个re.sub吗?因为您的替代品不同,所以另一个re.sub会更容易。谢谢!是否可以在同一表达式中包含另一组(方括号)?或者我应该使用第二个re.sub吗?由于您的替换项不同,另一个re.sub将更容易。谢谢,这当然解决了我使用一个“.sub”的问题,但它有点复杂。谢谢,这当然解决了我使用一个“.sub”的问题,但它有点复杂。