正则表达式拆分括号得到双结果
本文关键字:结果 拆分 正则表达式 | 更新日期: 2023-09-27 18:05:53
我取一个字符串,如"4 + 5 +(7-9)+ 8",并试图在括号上分割,以获得一个包含4 + 5,(7-9),+ 8的列表。所以我使用下面的正则字符串。结果是4 + 5(7-9)7-9 + 8。希望这只是简单的事情。谢谢。
List<string> test = Regex.Split("4 + 5 + ( 7 - 9 ) + 8", @"('(([^)]+)'))").ToList();
删除正则表达式中额外的括号:
('(([^)]+)')) // your regex
( ) // outer parens
'( ') // literal parens match
( ) // extra parens you don't need
[^)]+ // one or more 'not right parens'
额外的父级为'在字面父级内部'创建匹配,这是您看到的额外的7 - 9
。
所以你应该有:
@"('([^)]+'))"
List<string> test = Regex.Split("4 + 5 + ( 7 - 9 ) + 8", @"('([^)]+'))").ToList();