大家帮忙看一个正则表达式

tyskin 2014-06-13 03:13:47
String REGEX = "([a-zA-Z_]+(?=\\()\\([^()]*(\\([^()]+\\))*[^()]*\\))";

如上,这个正则怎么解释?空的“()”在上面正则里面有什么用?
...全文
141 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tyskin 2014-06-13
  • 打赏
  • 举报
回复
引用 6 楼 pl3121605999 的回复:
这个正则的意思是 : //[a-zA-Z_]+(1-n个字母和下划线组合) (?=\\()(非捕获组 后面跟随一个“(” 右括号)
嗯,这里我理解错了,我以为预查也是一次匹配的,这样就丢到了后面的右括号了
pl3121605999 2014-06-13
  • 打赏
  • 举报
回复
这个正则的意思是 : //[a-zA-Z_]+(1-n个字母和下划线组合) (?=\\()(非捕获组 后面跟随一个“(” 右括号) \\((后面跟随一个“(” 右括号) [^()]* 0-n个非“()”左右括号的字符组成 (\\( (后面跟随一个“(” 右括号) [^()]+ 1-n个非“()”左右括号的字符组成 \\))* (后面跟随一个“)” 左括号) [^()]* 0-n个非“()”左右括号的字符组成 \\)(后面跟随一个“)” 左括号) 例子:sdsd(fdsfdf(sds)sdsd)
之奇一昂 2014-06-13
  • 打赏
  • 举报
回复
引用 3 楼 szq80140 的回复:
是不是下面会用到?比如:$1代表第一个括号里的内容,依此类推?
请楼主忽略我的吧,纯粹误导……
末日哥 2014-06-13
  • 打赏
  • 举报
回复
(?=\\()你不会是把这2个看成一对了吧
之奇一昂 2014-06-13
  • 打赏
  • 举报
回复
是不是下面会用到?比如:$1代表第一个括号里的内容,依此类推?
sca4441479 2014-06-13
  • 打赏
  • 举报
回复
虽然不知道这个正则是干什么用的,但是楼主只要知道遇到\\(是把(当成普通的左括号,\\)当成普通的右括号,其余的没加斜杠的那就是group分组用的括号了。中括号是在什么范围内
suciver 2014-06-13
  • 打赏
  • 举报
回复
楼主说的空"()"是说在[]里面的吗。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧