Java regex reemplaza todo, no reemplaza todas las palabras

He estado jugando con esta expresión regular en Java durante años y no puedo hacer que funcione:

(?:^| )(?:the|and|at|in|or|on|off|all|beside|under|over|next)(?: |$)

El seguimiento:

pattern.matcher("the cat in the hat").replaceAll(" ")

me da cat the hat. Otro ejemplo de entrada es el the cat in of the next hatque me da cat of next hat.

¿Hay alguna manera de hacer que este reemplazo de expresiones regulares funcione sin tener que dividirlas en varias expresiones regulares separadas para cada palabra e intentar reemplazar una cadena repetidamente?

Respuesta 1

Estoy usando la validación basada en resorte en combinación con el validador de hibernación habilitado por lo siguiente en el contexto de mi aplicación: <bean id = "entityManagerFactory" class = "org.springframework.orm.jpa ...

Scala tiene su propia biblioteca XML y ofrece soporte incorporado para ello. Sin embargo, una de las principales características del lenguaje es la compatibilidad con Java. Esperaría poder usar Java Node ...

Estoy en el proceso de escribir pruebas unitarias para un servicio web JEE5. El comportamiento del servicio web depende de los atributos establecidos en el archivo web.xml. Por lo tanto, quiero dividir mi web.xml en un ...

Estoy analizando un archivo CSV, sin embargo, hay una fila donde las últimas 9 columnas están vacías y la cadena dividida por comas ignora las columnas vacías restantes. Aquí hay un código para demostrar esto: String s = "L2 ,,,, ...