MQLArticles/Utils/StrMatch/README.md

1,2 Kio

StrMatch

Modulo de una funcion unica de pattern matching para strings. Permite comparar un string contra un patrón con caracteres especiales.

Uso

CSimpleStringMatch::SimpleMatchInString("hello.png", "*.png"); // true

Patrones soportados

Carácter Significado Ejemplo
* Cualquier secuencia de caracteres *.png = cualquier archivo .png
? Exactamente un carácter cualquiera ?.txt = a.txt, b.txt
^ Exactamente un dígito (0-9) file^.csv = file1.csv

Los patrones se pueden combinar libremente.

Ejemplos

SimpleMatchInString("hello_word.png", "*.png");     // true
SimpleMatchInString("hello_word.png", ".png*");     // false
SimpleMatchInString("aksdgello",  "????gello");     // true
SimpleMatchInString("123a", "*^^^a");               // false
SimpleMatchInString("file123.txt", "file^^^.txt");  // true
SimpleMatchInString("anything", "*");               // true
SimpleMatchInString("", "*");                       // true
SimpleMatchInString("abc", "??");                   // false

Notas

  • ** no está soportado como patrón válido. El carácter después de * actúa como finalizador de la secuencia.
  • El patrón * solo equivale a "cualquier cosa" cuando está solo.