Regex de Lookaround Negativo - Apenas uma ocorrência - Java
Eu estou tentando descobrir se uma string contémapenas um ocorrência de uma palavra,
por exemplo.
String : `jjdhfoobarfoo` , Regex : `foo` --> false
String : `wewwfobarfoo` , Regex : `foo` --> true
String : `jjfffoobarfo` , Regex : `foo` --> true
múltiplofoo
podem acontecer em qualquer lugar da string, então eles podem ser não consecutivos,
Eu testo o seguinte regex correspondente em java com stringfoobarfoo
, mas não funciona e retornaverdade :
static boolean testRegEx(String str){
return str.matches(".*(foo)(?!.*foo).*");
}
Eu sei que este tópico pode parecer duplicado, mas estou surpreso porque quando eu uso este regex:(foo)(?!.*foo).*
funciona !
Alguma ideia de por que isso acontece?