在分隔符正则表达式后保留空间

时间:2018-06-10 12:57:11

标签: regex

我有下一个正则表达式,保持" c"来自替换的分隔符符号

(?<=c[:=\s]|:=).+

但问题是在分隔符后面有空格的情况下,它也会替换它们:

c= test1 

将替换为例如:

c=test

如何在分隔符后保留空格,以便不会被替换:

c= test

我尝试了下一个:

(?<=c[:=\s]\s).+

但它没有对分隔符后不包含空格的字符串进行匹配和更正:

c=test1

1 个答案:

答案 0 :(得分:0)

您可以匹配c后跟:或=和零个或多个空格字符\s+,然后捕获组中的一个或多个字符(。+)。从单词边界\b开始,以确保c不属于较长匹配。

作为替换,您可以使用第一个捕获组\1,然后使用替换文本。

<强>匹配

\b(c[:=]\s*).+

替换为

\1test

Demo Python