具有模式匹配器的IllegalStateException

具有模式匹配器的IllegalStateException,第1张

具有模式/匹配器的IllegalStateException

Matcher
是帮助程序类,它处理数据迭代以搜索与正则表达式匹配的子字符串。整个字符串可能包含许多可以匹配的子字符串,因此通过调用
group()
您无法指定您对哪个实际匹配感兴趣。要解决此问题,Matcher允许您遍历所有匹配的子字符串,然后使用您感兴趣的零件。

因此,在使用前,

group
需要让Matcher遍历字符串以
find()
匹配正则表达式。要检查正则表达式是否匹配整个String,我们可以使用
matches()
method而不是
find()

通常可以找到我们正在使用的所有匹配子字符串

Pattern p = Pattern.compiler("yourPattern");Matcher m = p.matcher("yourData");while(m.find()){    String match = m.group();    //here we can do something with match... }

由于您假设要查找的文本在字符串中(末尾)仅存在一次,因此不需要使用循环,但是简单的

if
(或条件运算符)应该可以解决您的问题。

Matcher m = Pattern.compile("(\.\w+)$").matcher("google.ca");String safeName = m.find() ? m.group() : null;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5562237.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存