Java 愚蠢的正则表达式问题。我做错了什么?
我做错了什么?为什么if语句从未被击中 matches()方法尝试将整个字符串与模式匹配。您需要Java 愚蠢的正则表达式问题。我做错了什么?,java,android,regex,Java,Android,Regex,我做错了什么?为什么if语句从未被击中 matches()方法尝试将整个字符串与模式匹配。您需要find()方法。matches()方法尝试将整个字符串与模式匹配。您需要find()方法。我也遇到了同样的问题。 我不知道原因。 如果有人知道这个问题,请在这里张贴。 我已经解决了反复使用find()而不是matches()的问题。我也遇到了同样的问题。 我不知道原因。 如果有人知道这个问题,请在这里张贴。 我已经解决了反复使用find()而不是matches()的问题。试试看Matcher.mat
find()
方法。matches()方法尝试将整个字符串与模式匹配。您需要find()
方法。我也遇到了同样的问题。
我不知道原因。
如果有人知道这个问题,请在这里张贴。
我已经解决了反复使用find()而不是matches()的问题。我也遇到了同样的问题。 我不知道原因。 如果有人知道这个问题,请在这里张贴。
我已经解决了反复使用find()而不是matches()的问题。试试看
Matcher.matches()
检查整个字符串是否与模式匹配。尝试Matcher.matches()
检查整个字符串是否与模式匹配。尝试将模式更改为“*world.*”
:
这样,它将匹配任何包含“world”的字符串。尝试将模式更改为
“*world.*”
:
这样,它将匹配任何包含“world”的字符串。您需要使用
find
,因为
matches尝试将图案与整个字符串匹配,并
在模式的开始处隐式添加一个“^”,在模式的结尾处隐式添加一个$
因此,您的模式相当于“^world$”您需要使用
find
,因为
matches尝试将图案与整个字符串匹配,并
在模式的开始处隐式添加一个“^”,在模式的结尾处隐式添加一个$
因此,您的模式相当于“^world$”您是正确的。非常感谢。我阅读了Matcher上的文档,但仍然不清楚matches()和find()之间的区别。你介意详细解释一下吗?match的意思是“整个字符串是否与提供的模式匹配”。“查找”表示“字符串中是否出现此模式”。注释应为:string p=“*world.*”;//Reg Ex,不是通配符。你是对的。非常感谢。我阅读了Matcher上的文档,但仍然不清楚matches()和find()之间的区别。你介意详细解释一下吗?match的意思是“整个字符串是否与提供的模式匹配”。“查找”表示“字符串中是否出现此模式”。注释应为:string p=“*world.*”;//Reg Ex,不是通配符。啊……这很有道理……而且很愚蠢。如果我想要的话,我会加上它。呃。非常感谢!啊……这是有道理的……而且是愚蠢的。如果我想要的话,我会加上它。呃。非常感谢!
String url = "hello world";
String p = "world";
Pattern pattern = Pattern.compile(p);
Matcher matcher = pattern.matcher(url);
if (matcher.matches()) {
int start = matcher.start();
int end = matcher.end();
}
String p = ".*world.*";