Napisałem wyrażenie regularne, aby pobrać ciąg znaków z HTML, ale wygląda na to, że flaga multilinii nie działa.
To jest mój wzór i chcę uzyskać tekst w h1
tagu.
var pattern= /<div class="box-content-5">.*<h1>([^<]+?)<\/h1>/mi
m = html.search(pattern);
return m[1];
Utworzyłem ciąg, aby go przetestować. Gdy ciąg zawiera „\ n”, wynik jest zawsze pusty. Jeśli usunąłem wszystkie „\ n”, uzyskałem właściwy wynik, bez względu na /m
flagę lub bez .
Co jest nie tak z moim wyrażeniem regularnym?
dotAll
modyfikator tak można zrobić /.../s
i twoje punkty zostaną również dopasować nowe linie. Od lipca 2017 r. Jest za flagą w Chrome.