public static String substringBetween(String str, String tag) {
        return substringBetween(str, tag, tag);
    }
<p>Gets the String that is nested in between two instances of the
same String.</p>

<p>A {@code null} input String returns {@code null}.
A {@code null} tag returns {@code null}.</p>

<pre>
StringUtils.substringBetween(null, *)            = null
StringUtils.substringBetween("", "")             = ""
StringUtils.substringBetween("", "tag")          = null
StringUtils.substringBetween("tagabctag", null)  = null
StringUtils.substringBetween("tagabctag", "")    = ""
StringUtils.substringBetween("tagabctag", "tag") = "abc"
</pre>

@param str  the String containing the substring, may be null
@param tag  the String before and after the substring, may be null
@return the substring, {@code null} if no match
@since 2.0
android/android_framework/base/src/main/java/lang3/StringUtils.java