求问如何用正则表达式匹配所有刚好被括号括起来的内容

比如"(foo))so)))me.fdsafjg((bar)(test)"希望匹配完后能得到的结果是:foo,bar,test或者能解决简单一点的情况比如"(foo)(b... 比如"(foo) )so)))me.fdsafjg((bar) (test)"

希望匹配完后能得到的结果是:
foo, bar, test

或者能解决简单一点的情况
比如"(foo) (bar)"
匹配完后是
foo, bar

谢谢!
我写的例子是三个,但是希望实现的功能是任意个,如果不能那也行,至少实现如下情况
(foo1)(foo2)
希望能每做一次匹配就至少出来一个,比如第一次匹配完了是foo1,这样我去掉(foo1)再拿到佛o也可以,但是我每次匹配出来就成了foo1)(foo2,不是想要的效果
展开
 我来答
百度网友0ad5d59
2013-05-02 · TA获得超过1192个赞
知道小有建树答主
回答量:378
采纳率:0%
帮助的人:573万
展开全部
.*\(([^\(\)]*)\).*\(([^\(\)]*)\).*\(([^\(\)]*)\).* 这个是用来匹配用的

\1,\2,\3 匹配的结果

解释一下匹配语句
因为是匹配3哥数据,所以写了三个一样的 .*\(([^\(\)]*)\)
我就解释一个, 其它的相同
第一个 .*\( 表示匹配 ( 前面的所有数据,不管你是字符串还是数字等所以用 . 点号
\(表示匹配到符号(

第二个 ([^\(\)]*) 括号里面的用来取数据就是后面的 \1 \2等的内容
[^\(\)] 这个表示匹配到左括号(后, 后续知道匹配右括号)后,中间不允许出()左右括号字符串
如果你还不想匹配其他数据比如,号 可以改成[^\(\),]
* 表示括号内的数据个数不限定
匹配最后加入.* 表示匹配完三个数据后,后面的随便是什么数据都不要了

这个是替换用的

第三个\1,\2,\3 , 分别表示第一 第二 第三哥括号内的数据
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我是板蓝根
2013-05-02 · TA获得超过1723个赞
知道小有建树答主
回答量:2011
采纳率:33%
帮助的人:916万
展开全部
((?<=\()[^\(\)]+)
有效果么?
追问
没有……
追答
你用的什么语言?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式