matches()是全部匹配,是将整个输入串与模式匹配,因此只有整个字符串都符合正则表达式才会返回true
System.out.println(Pattern.matches("\\[.+?\\]", "[呵呵]"))
要取出小括号内的数据,需要先匹配出小括号内的数据,然后对数据进行切分.
具体的Java程序如下
import java.util.regex.Matcherimport java.util.regex.Pattern
public class AA {
public static void main(String[] args) {
String name="nicefoela"
String str="nicefoela, pos=(1386.7, 61.1, 157.3),"
Pattern pattern = Pattern.compile(name+", pos=\\((.*?)\\)")
Matcher m = pattern.matcher(str)
while(m.find()){
String s=m.group(1)
String[] data=s.split(",")
for(int i=0i<data.lengthi++){
System.out.println(data[i].trim())
}
}
}
}