Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正则表达式替换python中分隔符之间的文本_Python_Regex - Fatal编程技术网

正则表达式替换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”的问题,但它有点复杂。