Javaの正規表現について教えてください。

<HTML><HEAD><META http-equiv="Content-Type" content="text/html; charset=UTF-8"></HEAD><BODY><DIV style="background-color: ;text-align:left;word-break:break-all;word-wrap:break-word;"><DIV><SPAN style="color:#0041c2;"><STRONG>test_1</STRONG></SPAN><SPAN><A href="dummy_1">[file_name_1]</A></SPAN></DIV><DIV><SPAN style="font-family:HGP創英角ゴシックUB;font-size:32px;"><STRONG>test_2</STRONG></SPAN><SPAN><A href="dummy_2">[filename_2]</A></SPAN><SPAN><STRONG>test_3</STRONG></SPAN><SPAN style="font-family:HGP創英角ゴシックUB;font-size:32px;">test_4</SPAN></DIV></BODY></HTML>

上記のようなコードがある場合にjavaの正規表現を使って<span>タグから</span>で区切りたいのですが、どのようにすればいいでしょうか。

<SPAN style="color:#0041c2;"><STRONG>test_1</STRONG></SPAN>
<SPAN><A href="dummy_1">[file_name_1]</A></SPAN>
<SPAN style="font-family:HGP創英角ゴシックUB;font-size:32px;"><STRONG>test_2</STRONG></SPAN>
<SPAN><A href="dummy_2">[filename_2]</A></SPAN>
<SPAN><STRONG>test_3</STRONG></SPAN>
<SPAN style="font-family:HGP創英角ゴシックUB;font-size:32px;">test_4</SPAN>

のように取り出したいです。

<span(\"[^\"]*\"|'[^']*'|[^'\">])*>(\"[^\"]*\"|'[^']*'|[^'\">])*<(\"[^\"]*\"|'[^']*'|[^'\">]).*?/span>

のように指定をしているのですがうまくいきません。