Negative Lookaround Regex - только один случай - Java
Я пытаюсь найти, содержит ли строкатолько один появление слова,
например
String : `jjdhfoobarfoo` , Regex : `foo` --> false
String : `wewwfobarfoo` , Regex : `foo` --> true
String : `jjfffoobarfo` , Regex : `foo` --> true
многократныйfoo
s может произойти где угодно в строке, поэтому они могут быть непоследовательными,
Я проверяю следующее соответствие регулярных выражений в Java со строкойfoobarfoo
, но это не такт работает и возвращаетсяправда :
static boolean testRegEx(String str){
return str.matches(".*(foo)(?!.*foo).*");
}
Я знаю, что эта тема может показаться дубликатом, но я удивлен, потому что, когда я использую это регулярное выражение:(foo)(?!.*foo).*
оно работает !
Есть идеи, почему это происходит?