帮我写一个正则表达式取 第二个 圆括号中的值把,急求!

zjd1121 2015-02-09 03:04:08
String s =" Platform Software
VRP (R) software, Version 8.100 (CE6850EI V100R005C10)
Copyright (C) 2012-2015 Technologies Co., Ltd.HUAWEI CE6850-48T4Q-EI uptime is 1 day, 2 hours, 57 minutes CE6850-48T4Q-EI(Master) 3 : uptime is 1 day, 2 hours, 57 minutes
StartupTime 2015/02/04 09:07:56
Memory Size : 2048 M bytes
Flash Size : 1024 M bytes
NVRAM Size : 512 K bytes



我想取 第二个圆括号中的值CE6850EI V100R005C10,这个正则怎么写啊?
...全文
1790 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangtu 2015-02-11
  • 打赏
  • 举报
回复

import org.apache.commons.lang.StringUtils;

String[] arr = StringUtils.substringsBetween(testStr, "(", ")");
System.out.println(arr[1]);//第二个

ae8686886 2015-02-09
  • 打赏
  • 举报
回复
String str1="Platform SoftwareVRP (R) software, Version 8.100 (CE6850EI V100R005C10)Copyright (C) 2012-2015 Technologies Co., Ltd.HUAWEI CE6"; int i = str1.indexOf("(",str1.indexOf("(")+1); int j = str1.indexOf(")",str1.indexOf(")")+1); String str2 = str1.substring(i+1,j); System.out.println(str2);
isoftstone57226 2015-02-09
  • 打赏
  • 举报
回复
好多写法啊,来个最笨的 Pattern pattern = Pattern.compile("Version 8.100\\s+\\((.*)\\)Copyright"); Matcher matcher = pattern.matcher(s); StringBuffer sbr = new StringBuffer(); if (matcher.find()) { System.out.println(matcher.group(1));
slwsss 2015-02-09
  • 打赏
  • 举报
回复
Matcher m=Pattern.compile(".*?\\).*?\\(([^)]*?)\\)").matcher(s); if(m.find())System.out.println(m.group(1));
sca4441479 2015-02-09
  • 打赏
  • 举报
回复

final String REGEX=".*(\\(.*\\))Copyright.*";
		String str1="Platform SoftwareVRP (R) software, Version 8.100 (CE6850EI V100R005C10)Copyright (C) 2012-2015  Technologies Co., Ltd.HUAWEI CE6";
		Matcher m=Pattern.compile(REGEX, Pattern.CASE_INSENSITIVE).matcher(str1);
		if(m.find()){
			System.out.println(m.group(1).replace("(", "").replace(")", ""));
		}

81,122

社区成员

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

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