MQLArticles/Utils/StrMatch/README.md

35 lines
1.2 KiB
Markdown
Raw Permalink Normal View History

2026-03-27 17:06:17 +00:00
# StrMatch
Modulo de una funcion unica de pattern matching para strings. Permite comparar un string contra un patrón con caracteres especiales.
## Uso
```cpp
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
```cpp
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.