code: @Beta
    @GwtIncompatible // regular expressions
    @NullableDecl
    public static Double tryParse(String string) {
      if (FLOATING_POINT_PATTERN.matcher(string).matches()) {
        // TODO(lowasser): could be potentially optimized, but only with
        // extensive testing
        try {
          return Double.parseDouble(string);
        } catch (NumberFormatException e) {
          // Double.parseDouble has changed specs several times, so fall through
          // gracefully
        }
      }
      return null;
    }
docs: Parses the specified string as a double-precision floating point value. The ASCII character
  {@code '-'} (<code>'&#92;u002D'</code>) is recognized as the minus sign.
  
  <p>Unlike {@link Double#parseDouble(String)}, this method returns {@code null} instead of
  throwing an exception if parsing fails. Valid inputs are exactly those accepted by {@link
  Double#valueOf(String)}, except that leading and trailing whitespace is not permitted.
  
  <p>This implementation is likely to be faster than {@code Double.parseDouble} if many failures
  are expected.
  
  @param string the string representation of a {@code double} value
  @return the floating point value represented by {@code string}, or {@code null} if {@code
  string} has a length of zero or cannot be parsed as a {@code double} value
  @since 14.0