java 正则表达式,捕获组重命名怎么搞?

godwanglong 2010-08-07 07:49:27
想在代码中搜索Math.pow( 3.0,16.0)这个方法

正则写为
String regEx ="(Math.pow)"
+"\\s*\\(\\s*"
+"([+-]?\\d+(\\.\\d+)?)"
+"\\s*,\\s*"
+"([+-]?\\d+(\\.\\d+)?)"
+"\\s*\\)";


想重命名捕获组

String regEx ="(?<a>Math.pow)"
+"\\s*\\(\\s*"
+"(?<b>[+-]?\\d+(\\.\\d+)?)"
+"\\s*,\\s*"
+"(?<c>[+-]?\\d+(\\.\\d+)?)"
+"\\s*\\)";


编译不通过..





正则表达式用(?<name>exp)这个语法不是可以重命名捕获组吗?
...全文
166 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lj_apple 2010-08-07
  • 打赏
  • 举报
回复
new feature
怪人伽利略 2010-08-07
  • 打赏
  • 举报
回复
学习了,认真学习//////
  • 打赏
  • 举报
回复
使用匿名捕获组取代就可以了,JDK 1.4 及以上的版本可以支持共 9 个捕获组,对于普通应用来说已是足矣!
  • 打赏
  • 举报
回复
很遗憾,在 Java 中直到 JDK 1.7_ea_b50 才实现命名捕获组。

Java Bug Database No.6360801
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6350801

JDK 1.7 build b50 change log
http://download.java.net/jdk7/changes/jdk7-b50.html

JDK 7 预计会在几个月之后正式发布,现在还处于 early access 的 buid 版本,目前不建议使用。

62,614

社区成员

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

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