Tengo un documento HTML de varias líneas del que estoy tratando de obtener algunas cosas. Estoy usando la expresión regular de Java (lo sé - analizadores XML bla bla bla, solo tengan paciencia conmigo aquí por favor :)).Pattern.DOTALL con String.replaceAll
dfahfadhadaaaa<object classid="java:com.sun.java.help.impl.JHSecondaryViewer" width="14" height="14">
<param name="content" value="../Glossary/glInterlinkedTask.html">
<param name="text" value="interlinked task">
<param name="viewerActivator" value="javax.help.LinkLabel">
<param name="viewerStyle" value="javax.help.Popup">
<param name="viewerSize" value="390,340">
<param name="textFontFamily" value="SansSerif">
<param name="textFontWeight" value="plain">
<param name="textFontStyle" value="italic">
<param name="textFontSize" value="12pt">
<param name="textColor" value="blue">
<param name=iconByID" value="">
</object>
sjtsjsrjrsjsrjsrj
Tengo este HTML en una cadena: entrada.
input = input.replaceAll("<object classid=\"java:com.sun.java.help.impl.JHSecondaryViewer.*?object>", "buh bye!");
Obviamente, no está funcionando. SIN EMBARGO, puedo obtener una coincidencia de patrón si uso pattern.compile con Pattern.DOTALL.
Entonces, mi pregunta es: ¿cómo puedo hacer algo como Pattern.DOTALL con string.replaceall?
Aha! Encontré la bandera en línea "(? S)". Es el equivalente de DOTALL si lo colocas al comienzo de la expresión regular. Problema resuelto. – guywhoneedsahand
¿Es este un problema importante? ¿No puedes simplemente llamar a 'Pattern.compile', etc., o escribir un contenedor? –
¿Prefunde '(? S)' al patrón? Funciona en otros idiomas, no está seguro acerca de Java. – ninjalj