求问如何用正则表达式匹配所有刚好被括号括起来的内容
比如"(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,不是想要的效果 展开
希望匹配完后能得到的结果是:
foo, bar, test
或者能解决简单一点的情况
比如"(foo) (bar)"
匹配完后是
foo, bar
谢谢!
我写的例子是三个,但是希望实现的功能是任意个,如果不能那也行,至少实现如下情况
(foo1)(foo2)
希望能每做一次匹配就至少出来一个,比如第一次匹配完了是foo1,这样我去掉(foo1)再拿到佛o也可以,但是我每次匹配出来就成了foo1)(foo2,不是想要的效果 展开
2个回答
展开全部
.*\(([^\(\)]*)\).*\(([^\(\)]*)\).*\(([^\(\)]*)\).* 这个是用来匹配用的
\1,\2,\3 匹配的结果
解释一下匹配语句
因为是匹配3哥数据,所以写了三个一样的 .*\(([^\(\)]*)\)
我就解释一个, 其它的相同
第一个 .*\( 表示匹配 ( 前面的所有数据,不管你是字符串还是数字等所以用 . 点号
\(表示匹配到符号(
第二个 ([^\(\)]*) 括号里面的用来取数据就是后面的 \1 \2等的内容
[^\(\)] 这个表示匹配到左括号(后, 后续知道匹配右括号)后,中间不允许出()左右括号字符串
如果你还不想匹配其他数据比如,号 可以改成[^\(\),]
* 表示括号内的数据个数不限定
匹配最后加入.* 表示匹配完三个数据后,后面的随便是什么数据都不要了
这个是替换用的
第三个\1,\2,\3 , 分别表示第一 第二 第三哥括号内的数据
\1,\2,\3 匹配的结果
解释一下匹配语句
因为是匹配3哥数据,所以写了三个一样的 .*\(([^\(\)]*)\)
我就解释一个, 其它的相同
第一个 .*\( 表示匹配 ( 前面的所有数据,不管你是字符串还是数字等所以用 . 点号
\(表示匹配到符号(
第二个 ([^\(\)]*) 括号里面的用来取数据就是后面的 \1 \2等的内容
[^\(\)] 这个表示匹配到左括号(后, 后续知道匹配右括号)后,中间不允许出()左右括号字符串
如果你还不想匹配其他数据比如,号 可以改成[^\(\),]
* 表示括号内的数据个数不限定
匹配最后加入.* 表示匹配完三个数据后,后面的随便是什么数据都不要了
这个是替换用的
第三个\1,\2,\3 , 分别表示第一 第二 第三哥括号内的数据
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
((?<=\()[^\(\)]+)
有效果么?
有效果么?
追问
没有……
追答
你用的什么语言?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询