roRegex
6 min
este objeto permite la implementación del procesamiento de expresiones regulares proporcionado por la biblioteca pcre el equivalente en javascript es regexp() este objeto se crea con una cadena para representar el patrón de coincidencia y una cadena para indicar indicadores que modifican el comportamiento de una o más operaciones de coincidencia createobject("roregex", "\[a z]+", "i") la cadena de coincidencia (en el ejemplo anterior, "\[a z]+" , que coincide con todas las letras minúsculas) puede incluir la mayoría de las expresiones regulares compatibles con perl que se encuentran en la documentación de pcre http //pcre org/ este objeto admite cualquier combinación de los siguientes indicadores de comportamiento (en el ejemplo anterior, "i", que puede modificarse para hacer coincidir tanto letras mayúsculas como minúsculas) "i" modo de coincidencia sin distinción entre mayúsculas y minúsculas "m" modo multilínea las construcciones de inicio de línea ("^") y fin de línea ("$") coinciden inmediatamente antes o después de cualquier nueva línea en la cadena de asunto también coinciden al principio o final absolutos de una cadena "s" modo dot all, que incluye una nueva línea en la expresión regular " " este modificador es equivalente a "/s" en perl "x" modo extendido, que ignora los caracteres de espacio en blanco excepto cuando se escapan o están dentro de una clase de caracteres este modificador es equivalente a "/x" en perl ifregex ismatch(string as string) as boolean devuelve verdadero si la cadena es coherente con el patrón de coincidencia match(string as string) as roarray devuelve un roarray de subcadenas coincidentes de la cadena la coincidencia completa se devuelve en la forma array\[0] esta será la única entrada en la matriz si no hay subcadenas entre paréntesis si el patrón de coincidencia contiene subcadenas entre paréntesis, las subcadenas relevantes se devolverán como una matriz de longitud n+1, donde array\[0] es la coincidencia completa y cada entrada adicional en la matriz es la coincidencia para la expresión entre paréntesis correspondiente replace(string as string, subset as string) as string reemplaza la primera aparición de un patrón de coincidencia en la cadena con el subconjunto y devuelve el resultado el subconjunto puede contener referencias inversas numeradas a subcadenas entre paréntesis ejemplo \> r = createobject("roregex", "(\d+)\s+(\w+)", "") \> ? r replace("123 abc", "word \2 number \1") \> word\ abc number 123 replaceall(string as string, subset as string) as string reemplaza todas las apariciones de un patrón de coincidencia en la cadena con el subconjunto y devuelve el resultado ejemplo \> r = createobject("roregex", "a", "i") \> ? r replaceall("abracadabra", "x") xbrxcxdxbrx split(string as string) as rolist usa el patrón de coincidencia como delimitador y divide la cadena en los límites del delimitador la función devuelve una rolist de cadenas que fueron separadas por el patrón de coincidencia en la cadena original