首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >括号上的Regex拆分得到了双重结果

括号上的Regex拆分得到了双重结果
EN

Stack Overflow用户
提问于 2014-05-29 20:19:22
回答 2查看 120关注 0票数 2

I取一个字符串,如"4 +5+(7-9)+ 8“,并试图在括号上拆分,得到包含4+ 5,(7-9),+ 8的列表。所以我使用下面的regex字符串。但是它给了我4+ 5,( 7-9 ),7-9,+ 8,希望这只是简单的事情。谢谢。

代码语言:javascript
运行
复制
 List<string> test = Regex.Split("4 + 5 + ( 7 - 9 ) + 8", @"(\(([^)]+)\))").ToList();
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-29 20:21:05

删除正则表达式中的额外括号:

代码语言:javascript
运行
复制
(\(([^)]+)\)) // your regex
(           ) // outer parens
 \(       \)  // literal parens match
   (     )    // extra parens you don't need
    [^)]+     // one or more 'not right parens'

额外的父母创建了一个匹配的‘内部文字父母’,这是额外的7 - 9你看到。

所以你应该:

代码语言:javascript
运行
复制
@"(\([^)]+\))"
票数 3
EN

Stack Overflow用户

发布于 2014-05-29 20:23:31

代码语言:javascript
运行
复制
List<string> test = Regex.Split("4 + 5 + ( 7 - 9 ) + 8", @"(\([^)]+\))").ToList();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23942217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档