当前位置: 代码迷 >> J2SE >> JAVA 正责表达式有关问题?
  详细解决方案

JAVA 正责表达式有关问题?

热度:214   发布时间:2016-04-24 13:30:23.0
JAVA 正责表达式问题???
public void query(){
boolean t = false;
String str2 = jTextField.getText();
String str1 = jTextArea1.getText();
Pattern p = Pattern.compile(str2,Pattern.CASE_INSENSITIVE);  
Matcher m = p.matcher(str1);
t = m.find();
jTextField1.setText(Boolean.toString(t)); /// 这里返回TRUE

if(t){
for(i=0;i<m.groupCount();i++){  
jTextArea.setText(m.group(i) + "\n"); //这里为什么不能输出呢

} //把m.groupCount();改为20,或其他数,就可以输出了,这怎么回事呢??
}
}

------解决方案--------------------
而用m.groupCount()计算的结果是不包括group(0),也就是说,如果表达式没有括号,m.groupCount结果是0
这就是加个括号的用处
  相关解决方案