首页 > 解决方案 > 尝试从字符串中删除 2 个子字符串

问题描述

我试图找到一个正则表达式,它将在以下条件下从给定字符串中删除 2 个子字符串:

  1. 第一个子字符串总是 -m
  2. 第二个子字符串将跟进并以空格结尾

例如,在这个字符串中 -

bla blaaa ballla -m /gkdfs/dfsd/sdf bllaggw

预期的结果应该是

bla blaaa ballla bllaggw

我尝试了以下正则表达式 - -m (.*)

但它会选择 -m 之后的所有字符串,并且不会在第一个空格处停止。

我将非常感谢帮助/想法

谢谢大家!

标签: pythonregexstring

解决方案


这可以适合你:

import re

regex = r"-m\s\S*"

test_str = "bla blaaa ballla -m /gkdfs/dfsd/sdf bllaggw"

subst = ""

# You can manually specify the number of replacements by changing the 4th argument
result = re.sub(regex, subst, test_str, 0, re.MULTILINE)

if result:
    print (result)

输出 :

bla blaaa ballla bllaggw

在这里测试代码

在这里测试正则表达式


推荐阅读