I would like to rewrite the below Oracle REGEXP_COUNT function into MariaDB 10.3. I am trying to rewrite using LENGTH concept but couldn't get valid result.
I am using the ^((((https?|ftps?|gopher|telnet|nntp):\/\/)|(mailto:|news:))(%[0-9A-Fa-f]{2}|[-()_.!~*\'';/?:@&=+$,A-Za-z0-9])+)([).!/?:,][[:blank:]])?$ pattern and the code like this:
SET SQL_MODE=ORACLE;
DELIMITER //
CREATE OR REPLACE FUNCTION "IS_VALID"(VALUE TEXT) RETURN double
IS
    is_valid DECIMAL (1, 0);
BEGIN
    is_valid := 0;
      IF  REGEXP_COUNT(VALUE, '^((((https?|ftps?|gopher|telnet|nntp):\/\/)|(mailto:|news:))(%[0-9A-Fa-f]{2}|[-()_.!~*\'';/?:@&=+$,A-Za-z0-9])+)([).!/?:,][[:blank:]])?$') = 1
      THEN
        is_valid := 1;
      END IF
    RETURN is_valid;
END;//
DELIMITER ;
 
    