Я написал регулярное выражение для извлечения строки из HTML, но кажется, что многострочный флаг не работает.
Это мой шаблон, и я хочу получить текст в h1теге.
var pattern= /<div class="box-content-5">.*<h1>([^<]+?)<\/h1>/mi
m = html.search(pattern);
return m[1];
Я создал строку, чтобы проверить это. Когда строка содержит «\ n», результат всегда будет нулевым. Если я удалил все "\ n", это дало бы мне правильный результат, независимо от того, был или нет /mфлаг.
Что не так с моим регулярным выражением?
dotAll модификатор, так что вы можете сделать это, /.../sи ваши точки также будут соответствовать новым строкам. По состоянию на июль 2017 года он стоит за флагом в Chrome.