I wrote a regex to fetch string from HTML, but it seems the multiline flag doesn't work. This is my pattern and I want to get the text in h1 tag. var pattern= /<div class="box-content-5">.*<h1>([^<]+?)<\/h1>/mi m = html.search(pattern); return m[1]; I created a string to test it. When the string contains "\n", the result is always null. If I removed all the "\n"s, it gave me the right result, no m