Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.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,我有一些字符串数据,其中包含来自颜色编码的字符。。我试图使用re.sub删除它们,但我不知道如何重复我的模式。我想+?如它所述,1次或多次重复是非贪婪的。但它只是删除字符串中的“[0m”,而不是“[32m” 如何生成一个正则表达式来删除上述组合的任何实例,并在其中留下文本,在此实例中文本为“OK” 我的最终目标是保留介于[32和[0m]之间的OK文本…OK可以说失败或错误,如[32mFAILED[0m,[32mERROR[0m您可以尝试使用以下模式: test = re.sub(r'(?:\[\

我有一些字符串数据,其中包含来自颜色编码的字符。。我试图使用re.sub删除它们,但我不知道如何重复我的模式。我想+?如它所述,1次或多次重复是非贪婪的。但它只是删除字符串中的“[0m”,而不是“[32m”

如何生成一个正则表达式来删除上述组合的任何实例,并在其中留下文本,在此实例中文本为“OK”


我的最终目标是保留介于[32和[0m]之间的OK文本…OK可以说失败或错误,如[32mFAILED[0m,[32mERROR[0m

您可以尝试使用以下模式:

test = re.sub(r'(?:\[\d+m)', '', test)
这表示匹配
[
后跟任意数字,后跟
m
。请注意,这将保留
m
之后的所有内容


您可以尝试使用以下模式:

test = re.sub(r'(?:\[\d+m)', '', test)
这表示匹配
[
后跟任意数字,后跟
m
。请注意,这将保留
m
之后的所有内容


应该是
.strip()
?@andrew\u reece谢谢…它在演示中工作,不知怎么的从未被复制过。对不起,请重新阅读我的帖子,我需要保留“OK”文本,这一直是我的问题,我无法找出如何正则表达式来删除“[32m”和“[0m”,其中32和0可能会从一行变为另一行或从一个字符串变为另一个字符串..因此另一行中可能有“[45m”和“[1m”,您给出的正则表达式示例会删除结尾处的所有内容:(…文本“OK”可能会说“FAILED”还是别的status@johnjohnson我更新了我的答案,它现在通过了您描述的用例。如果您有其他边缘案例,那么展示它们,也许我可以再次更新我的答案。酷thx,你知道吗:)事实上,我当时就想出来了,但是没有你的指导,我不能首先在?:我想这就是我让自己困惑的地方。嘿,真的很感激它。应该是
.strip()
?@andrew\u reece谢谢…它在演示中起作用,不知怎的从未被复制过。对不起,请重新阅读我的帖子,我需要“OK”保留文本,这是我一直以来的问题,我不知道如何使用regex来删除“[32m”和“[0m”,其中32和0可能会从一行到另一行或从一个字符串到另一个字符串……因此另一行中可能包含“[45m”和“[1m”,您给出的regex示例在结尾处删除了所有内容:(…文本“OK”可能会说“失败”还是别的status@johnjohnson我更新了我的答案,它现在通过了您描述的用例。如果您有其他边缘案例,那么展示它们,也许我可以再次更新我的答案。酷thx,你知道吗:)事实上,我当时就想出来了,但是没有你的指导,我不能先上?:我想这就是我困惑自己的地方。嘿,真的很感激。