`
xingcxb
  • 浏览: 46260 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

java.lang.IllegalStateException

 
阅读更多
如果是正则表达式匹配出现的问题的话,那就是你的Matcher对象调用错了

关于java正则表达式的一些奇怪地方 No match found


import java.util.regex.Pattern;
import java.util.regex.Matcher;
class testRegEx
{
public static void main(String[] args)
{
System.out.println("Hello World!");
System.out.println( "begin to match" );
String str =
"wfwfwfwfwfwfw<img src='http://iwedfsfsfsdfsfu/uploads/080810/17157/1.jpg'";
String regEx = "src='http://[^']+'" ;
Pattern p = Pattern.compile( regEx );
Matcher m = p.matcher( str );
boolean rs = m.find();
System.out.println( rs );
System.out.println( m.group() );
//在提取到的基础把url提取出来
str = m.group();
System.out.println( str );
regEx = "[url=http://[^]http://[^']+";
Pattern p1 = Pattern.compile( regEx );
Matcher m1 = p1.matcher( str );
boolean r = m1.find();
System.out.println( "最終的url是:" + m1.group() );
}
}


1: 不知为什么,find()==true以后,groupCOunt()返回的个数是0
只能这样: while( m.find() )
          {
                System.out.println( m.group() );
          }
这样一个一个地输出所匹配的字符串

2:要调用m.group()之前一定要先调用m.find()
否则一直报错说找不到匹配的字符串
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics