正则表达式提取括号中的内容,不含括号里面的内容解决办法
正则表达式提取括号中的内容,不含括号里面的内容
用正则表达式提取:
测试(12365)
路摊 (456)
是的(789)
....
我想提取出的内容是 12365 456 789 就是括号中的内容,不含括号
提前感谢各位!
------解决思路----------------------
(?<=\()\S+(?=\))
(?<=exp)是以exp开头的字符串, 但不包含本身.
(?=exp)就匹配惟exp结尾的字符串, 但不包含本身.
(?<=\() 也就是以括号开头, 但不包含括号.
(?=\)) 就是以括号结尾
\S 匹配任何非空白字符。等价于[^ \f\n\r\t\v]。
+表示至少有一个字符.
(?<=\()\S+(?=\)) 就是匹配以 (开头, )结尾的括号里面最少有一个非空白字符的串, 但不包括开头的(和结尾的)
------解决思路----------------------
用正则表达式提取:
测试(12365)
路摊 (456)
是的(789)
....
我想提取出的内容是 12365 456 789 就是括号中的内容,不含括号
提前感谢各位!
------解决思路----------------------
(?<=\()\S+(?=\))
(?<=exp)是以exp开头的字符串, 但不包含本身.
(?=exp)就匹配惟exp结尾的字符串, 但不包含本身.
(?<=\() 也就是以括号开头, 但不包含括号.
(?=\)) 就是以括号结尾
\S 匹配任何非空白字符。等价于[^ \f\n\r\t\v]。
+表示至少有一个字符.
(?<=\()\S+(?=\)) 就是匹配以 (开头, )结尾的括号里面最少有一个非空白字符的串, 但不包括开头的(和结尾的)
------解决思路----------------------
public static void main(String[] args)
{
Pattern p1 = Pattern
.compile("\\S+\\((\\d+)\\)");
String s ="木马(123)";
Matcher m = p1
.matcher(s);
if(m.find())
{
System.out.println(m.group(1));
}
}