Több soros vs. egy soros Regex

Múlt héten egy HTML parse-oló alkalmazást készítettem, mely kigyűjti a fordítandó szövegrészeket egy megadott mappa fájlaiból. Sokáig próbálkoztam megoldani, hogy kiszedjem a <% %> többsoros script blokkokat  a forrásból, de nem jött össze a következő kifejezés használatával:

"(<%.*?%>)".

Az utánajárás eredménye egy irgalmatlan káromkodás-sorozat lett. Mivel a regex paramétereként megadott RegexOptions.Singleline, RegexOptions.Multiline paraméterek egyérelműnek tűntek, sosem néztem még utána, mit is jelentenek. És itt követtem el a hibát: a SingleLine paraméter eredményeképp a “.”-ra illeszkedni fog a sorvége karakter is, míg a MultiLine-ra nem. Ez magyarul megfogalmazva annyit jelent, hogy a SingleLine nem azt jelenti, hogy soronként szeretnék keresni, hanem azt, hogy az egész forrást egy sorként szeretném kezelni, míg a MultiLine pont az ellentéte, nem azt jelenti, hogy többsoros szövegben szeretnék keresni, hanem hogy a minta csak egy sorra illeszkedjen.


Tags:
Categories:

4 Megjegyzések
Actions: E-mail | Permalink | Comment RSSRSS comment feed

Megjegyzések

Megjegyzés Hozzáfűzése




  Country flag

biuquote
  • Megjegyzés
  • Előnézet
Loading