Javaの正規表現で、SQLのLIKE句による部分一致と同じような条件になるようにマッチさせる

SQL

select * FROM TableName Where column_name like "%test%"

Java

String str = "xxxtestxxx";
String regex = "test";
Pattern p =
        Pattern.compile(".*" + regex + ".*", Pattern.CASE_INSENSITIVE);//CASE_INSENSITIVEで大文字か小文字かを無視する
Matcher m = p.matcher(str);
if (m.find()) {
        // マッチした場合
} else {
        // マッチしない場合
}