Próbuję znaleźć wielowierszowy ciąg wewnątrz znaczników HTML .To wyrażenie regularne
<s*form[^>]*>(.*?)<s*/s*form>
działa całkiem dobrze w Notepad ++, jeśli to ustawienie find r and n
jest aktywowany.
Czego nie mogę zrobić, to zmusić ten regex do pracy z Excelem (używając a .Net Addon, co pozwala na wykonanie regex). Tam regex znajduje tylko jeden ciąg w linie (średni bez r, n lub oba).
Na przykład:
- jeśli ciąg znaków jest
<form foo>bar</form>
- regex znajdujebar
, zgodnie z oczekiwaniami, - Jeśli jest ciąg znaków
<form foo>barrnbaz</form>
- regex nie znajduje nic.
W jaki sposób można dostosować to wyrażenie regularne do wychwytywania wieloliniowych łańcuchów?
Odpowiedzi:
0 dla odpowiedzi № 1Pod warunkiem, że .Net Addon obsługuje składnię .NET Regex, możesz wstrzyknąć (?s)
modyfikator do wyrażenia, aby utworzyć .
dopasuj również znaki newline:
(?s)<s*form[^>]*>(.*?)<s*/s*form>