Mam wielowierszowy dokument HTML, z którego próbuję pobrać pewne rzeczy. Używam regex java (Wiem - parsery XML bla bla bla, po prostu proszę o mnie tutaj proszę :)).Pattern.DOTALL z 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
Mam ten kod HTML w ciągu znaków: input.
input = input.replaceAll("<object classid=\"java:com.sun.java.help.impl.JHSecondaryViewer.*?object>", "buh bye!");
Oczywiście to nie działa. JEDNAK, mogę uzyskać wzór dopasowania, jeśli używam pattern.compile z Pattern.DOTALL.
Moje pytanie brzmi - w jaki sposób mogę zrobić coś w stylu Pattern.DOTALL z string.replaceall?
Aha! Znaleziono flagę "(? S)". Jest to odpowiednik DOTALL, jeśli umieścisz go na samym początku wyrażeń regularnych. Problem rozwiązany. – guywhoneedsahand
Czy to poważny problem? Nie możesz po prostu zadzwonić do 'Pattern.compile' itd. Lub napisać opakowanie? –
Czy przedrostek '(? S)' działa na wzór? Działa w innych językach, nie jest pewny, czy Java. – ninjalj