Java正则表达式匹配器不匹配
发布时间:2020-12-15 05:10:53 所属栏目:Java 来源:网络整理
导读:我的字符串: a href="https://MYURL/browse/TEST-53"FOO.BAR/a/p 码: Pattern pattern = Pattern.compile("(browse/)(.*)(")");Matcher matcher = pattern.matcher(match);return matcher.group(1); 得到错误: java.lang.IllegalStateException: No matc
我的字符串:
<a href="https://MYURL/browse/TEST-53">FOO.BAR</a></p> 码: Pattern pattern = Pattern.compile("(browse/)(.*)(">)"); Matcher matcher = pattern.matcher(match); return matcher.group(1); 得到错误: java.lang.IllegalStateException: No match found 在这里测试我的正则表达式,它匹配: http://regexpal.com/?flags=g®ex=(browse%2F)(.*)(%5C%22%3E)&input=%3Ca%20href%3D%22https%3A%2F%2FMYURL%2Fbrowse%2FTEST-53%22%3EFOO.BAR%3C%2Fa%3E%3C%2Fp%3E 解决方法
你首先需要这样做
matcher.find() 触发实际搜索.通常是这样的: Pattern pattern = Pattern.compile("(browse/)(.*)(">)"); Matcher matcher = pattern.matcher(match); if (matcher.find()) return matcher.group(1); 您可能应该使用不同的正则表达式: Pattern pattern = Pattern.compile("browse/([^<>"]*)">"); 将更安全,更有效(并在组号1中提供正确的值). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容