<p>使用</p>
<pre><code>(?m)^<hr>\r?\nBitmap:[\s\S]*?(?=^<hr>$|\Z)
</code></pre>
<p>见<a href="https://regex101.com/r/i64K0W/4" rel="nofollow noreferrer">proof</a></p>
<p><strong>解释</strong></p>
<pre><code>
(?m) set flags for this block (with ^ and $
matching start and end of line) (case-
sensitive) (with . not matching \n)
(matching whitespace and # normally)
^ the beginning of a "line"
<hr> '<hr>'
\r? '\r' (carriage return) (optional (matching
the most amount possible))
\n '\n' (newline)
Bitmap: 'Bitmap:'
[\s\S]*? any character of: whitespace (\n, \r, \t,
\f, and " "), non-whitespace (all but \n,
\r, \t, \f, and " ") (0 or more times
(matching the least amount possible))
(?= look ahead to see if there is:
^ the beginning of a "line"
<hr> '<hr>'
$ before an optional \n, and the end of a
"line"
| OR
\Z the end of the string
) end of look-ahead
</code></pre>