java正则表达式匹配小括号内的内容
查看原文:http://www.ibloger.net/article/37.html
经常用到正则匹配小括号内容,在此摘录下来
String content = "src: local("Open Sans Light"), local("OpenSans-Light"), url(http://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTa-j2U0lmluP9RWlSytm3ho.woff2) format("woff2")";
// 从内容上截取路径数组
Pattern pattern = Pattern.compile("(?<=\()[^\)]+");
Matcher matcher = pattern.matcher(content);
while(matcher.find()){
System.out.println(matcher.group());
}
输出
"Open Sans Light"
"OpenSans-Light"
http://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTa-j2U0lmluP9RWlSytm3ho.woff2
"woff2"
还有一种情况是,我们只匹配url里面的内容,比如要匹配的字符串是
String content = "local("OpenSans-Light"),url(http://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTa-j2U0lmluP9RWlSytm3ho.woff2) format("woff2");unicode-range:U+0460-052F,U+20B4,U+2DE0-2DFF,U+A640-A69F;}@font-face{font-family:"Open Sans";font-style:normal;font-weight:300;src:local("Open Sans Light"),local("OpenSans-Light"),url(http://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTZX5f-9o1vgP2EXwfjgl7AY.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:"Open Sans";font-style:normal;font-weight:300;src:local("Open Sans Light"),local("OpenSans-Light"),url(http://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTRWV49_lSm1NYrwo-zkhivY.woff2) format("woff2");unicode-range:U+1F00-1FFF;}@font-face{font-family:"Open Sans";font-style:normal;font-weight:300;src:local("Open Sans Light"),local("OpenSans-Light"),url(http://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTaaRobkAwv3vxw3jMhVENGA.woff2) format("woff2");";
然后将正则规则修改为
Pattern pattern = Pattern.compile("(?<=url\()[^\)]+");
这样就能匹配如下内容了
http://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTa-j2U0lmluP9RWlSytm3ho.woff2
http://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTZX5f-9o1vgP2EXwfjgl7AY.woff2
http://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTRWV49_lSm1NYrwo-zkhivY.woff2
http://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTaaRobkAwv3vxw3jMhVENGA.woff2
正则中使用了零宽度断言
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 中括号和大括号在正则表达式的转义,包括很多特殊字符
- 下一篇: 正则表达式替换括号内的内容