Я написал регулярное выражение для извлечения строки из 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.