当前位置: 代码迷 >> J2SE >> 大伙儿帮忙看一个正则表达式
  详细解决方案

大伙儿帮忙看一个正则表达式

热度:77   发布时间:2016-04-23 20:38:57.0
大家帮忙看一个正则表达式
String REGEX = "([a-zA-Z_]+(?=\\()\\([^()]*(\\([^()]+\\))*[^()]*\\))";

如上,这个正则怎么解释?空的“()”在上面正则里面有什么用?
------解决方案--------------------
楼主说的空"()"是说在[]里面的吗。
------解决方案--------------------
虽然不知道这个正则是干什么用的,但是楼主只要知道遇到\\(是把(当成普通的左括号,\\)当成普通的右括号,其余的没加斜杠的那就是group分组用的括号了。中括号是在什么范围内
------解决方案--------------------
(?=\\()你不会是把这2个看成一对了吧
------解决方案--------------------
这个正则的意思是 :
//[a-zA-Z_]+(1-n个字母和下划线组合)
 (?=\\()(非捕获组 后面跟随一个“(” 右括号)
  \\((后面跟随一个“(” 右括号)
 [^()]* 0-n个非“()”左右括号的字符组成
 (\\( (后面跟随一个“(” 右括号)
[^()]+ 1-n个非“()”左右括号的字符组成
\\))* (后面跟随一个“)” 左括号)
 [^()]*  0-n个非“()”左右括号的字符组成
\\)(后面跟随一个“)” 左括号)

例子:sdsd(fdsfdf(sds)sdsd)