正则表达式 - 从嵌套的逗号分隔列表中删除模式

时间:2017-10-14 16:33:42

标签: regex

我有嵌套的逗号分页列表,我需要从中删除特定的模式。

e.g。

{pattern1=10-abc,pattern2=xyz,pattern3={pattern4-1=abc-123,pattern4=abc-123},pattern5=xyz}

所以例如我想删除pattern4和pattern5并获得结果:

{pattern1=10-abc,pattern2=xyz,pattern3={pattern4-1=abc-123}}

如果我使用 - > matchpattern+"=.*?,"我可以删除所有以“,”结尾但但我会松开一个“}”而不删除上面示例中的pattern5:

{pattern1=10-abc,pattern2=xyz,pattern3={pattern4-1=abc-123,pattern5=xyz}

我也可以在“}”之后没有删除“,”:

{pattern1=10-abc,pattern2=xyz,pattern3={pattern4-1=abc-123},}

提前谢谢!

P.S。 与pattern(1|4|5)=.*?[,}]我匹配了我需要的一切。 如果匹配的模式以“,”结束,是否有替换为“”的方法,如果以“}”结束,则替换为“}”?

1 个答案:

答案 0 :(得分:1)

试试这个:

,?pattern(4|5)=[\w-]+