/ / Expresión regular de JavaScript a Expresión regular de Java - java, javascript, regex

Expresión regular de JavaScript a la expresión regular de JavaScript - java, javascript, regex

Tengo un pequeño código de reliquia escrito en Javascript que escanea una fuente de la página web y busca el patrón.

Estoy migrando la funcionalidad a un programa Java. Entonces, mi pregunta es ¿cómo puedo analizar una expresión regular de JavaScript a una Java con algún tipo de función de buscar y reemplazar?

Por ejemplo, mi JavaScript Regex actualmente lee (como una cadena)

RegEx = "/(\/addthis_widget\.(js|php)|\.addthis\.com\/js\/widget\.(js|php))/i";

Encontré este viejo post en stackoverflow:

¿Cómo convertir regex javascript a regex java seguro?

lo que sugiere que esto haría el truco:

strOutput.replace("/{{[^]*?}}/g","");

Sin embargo, esto no parece lo suficientemente robusto y no produce un RegEx que sea reconocido por el compilador.

Respuestas

1 para la respuesta № 1

Eliminar la / al principio y / i al final. Añadir (? I) al principio.

Java no usa /expr/options formato. /expr/G sería reemplazado por la coincidencia de límites G, pero en java generalmente solo llamas matcher.find() varias veces, y comenzará la búsqueda de la coincidencia al final de la anterior automáticamente, haciendo que G no tenga sentido.

Cambia todo \/ a /, las barras diagonales hacia adelante no necesitan ser escapadas.