code: public static String removeFirst(final String text, final Pattern regex) {
          return replaceFirst(text, regex, N.EMPTY_STRING);
      }
docs: <p>Removes the first substring of the text string that matches the given regular expression pattern.</p>
  
  This method is a {@code null} safe equivalent to:
  <ul>
  <li>{@code pattern.matcher(text).replaceFirst(N.EMPTY_STRING)}</li>
  </ul>
  
  <p>A {@code null} reference passed to this method is a no-op.</p>
  
  <pre>
  StringUtils.removeFirst(null, *)      = null
  StringUtils.removeFirst("any", (Pattern) null)  = "any"
  StringUtils.removeFirst("any", Pattern.compile(""))    = "any"
  StringUtils.removeFirst("any", Pattern.compile(".*"))  = ""
  StringUtils.removeFirst("any", Pattern.compile(".+"))  = ""
  StringUtils.removeFirst("abc", Pattern.compile(".?"))  = "bc"
  StringUtils.removeFirst("A&lt;__&gt;\n&lt;__&gt;B", Pattern.compile("&lt;.*&gt;"))      = "A\n&lt;__&gt;B"
  StringUtils.removeFirst("A&lt;__&gt;\n&lt;__&gt;B", Pattern.compile("(?s)&lt;.*&gt;"))  = "AB"
  StringUtils.removeFirst("ABCabc123", Pattern.compile("[a-z]"))          = "ABCbc123"
  StringUtils.removeFirst("ABCabc123abc", Pattern.compile("[a-z]+"))      = "ABC123abc"
  </pre>
  
  @param text  text to remove from, may be null
  @param regex  the regular expression pattern to which this string is to be matched
  @return  the text with the first replacement processed,
  {@code null} if null String input
  
  @see #replaceFirst(String, Pattern, String)
  @see java.util.regex.Matcher#replaceFirst(String)
  @see java.util.regex.Pattern