Regex palabra entera

Me siento un poco tonta haciendo esta pregunta, pero de todo lo que he leído, esto debería funcionar y no, para mí. Estoy intentando emparejar una palabra entera en una cadena usando expresiones regulares.

Por lo tanto, si estoy tratando de encontrar la palabra "el" en una frase, debe devolver verdadero para "el zorro marrón rápido salta sobre el perro perezoso", pero devuelve falso para "allí rápido zorro marrón salta sobre el perro perezoso" .

He intentado esto:

String text = "the quick brown fox jumps over the lazy dog"; return text.matches("\\bthe\\b"); 

También he intentado:

  String text = "the quick brown fox jumps over the lazy dog"; String regex = "\\bthe\\b"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(text); return matcher.matches(); 

También he intentado esta regex: "\ bthe \ b"

Y siempre vuelven falsas. Siento que estoy perdiendo algo bastante obvio aquí, ya que esto no debería ser demasiado difícil. 🙂

Si utiliza matches , debe coincidir con toda la cadena. String#contains(...) puede ser lo que estás buscando, o tal vez quieras poner algunos comodines antes y después de tu palabra:

 String regex = ".*\\bthe\\b.*"; 

p.ej,

  String text = "the quick brown fox jumps over the lazy dog"; System.out.println(text.matches(regex)); 

Pruebe esta regex:

 ".*\\bthe\\b.*" 

Básicamente, lo que está tratando de igualar es la cadena "el", pero es necesario devolver un partido, incluso si la entrada tiene otras cosas, por lo que necesita poner ". *" En ambos lados para eso.

Bzzt! Naturalmente volverá a ser true para la segunda oración, ya que la palabra the aparece dos veces: El zorro marrón rápido salta sobre el perro perezoso. "Su segunda oración todavía tiene el segundo.

Su regex es correcta. Sin embargo, necesitará utilizar el método Pattern.find lugar de matches , ya que los matches coinciden con la cadena completa. Pattern.find , por otro lado, localizará las subcadenas que coincidan con su patrón.

  • ¿Cómo validar una cadena usando java regex?
  • Utilizar un signo de interrogación como String en android
  • Formato de registro de registro de Android c2dm
  • Permitir sólo charcters seleccionados basados ​​en regex en un EditText
  • Cómo ejecutar una consulta con regexp en Android
  • Fuerza de cierre en la expresión regular!
  • Consulta de SQLiteDatabase de Android con Regex
  • Cómo validar String usando expresión regular en java
  • Expresión regular en Android para el campo de contraseña
  • Expresión regular de Android: devuelve la cadena correspondiente
  • "Secuencia de escape no válida (válidos son \ b \ t \ n \ f \ r \" \ '\\) "error de sintaxis
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.