forked from nique_372/MQLArticles
| .. | ||
| README.md | ||
| StrSimpleMatch.mqh | ||
| Test.mq5 | ||
StrMatch
A module with a single pattern matching function for strings. Allows comparing a string against a pattern with special characters.
Usage
CSimpleStringMatch::SimpleMatchInString("hello.png", "*.png"); // true
Supported Patterns
| Character | Meaning | Example |
|---|---|---|
* |
Any sequence of characters, searches up to the farthest occurrence after the * |
*.png = any .png file |
? |
Exactly one character of any kind | ?.txt = a.txt, b.txt |
^ |
Exactly one digit (0-9) | file^.csv = file1.csv |
~ |
Any sequence of characters, searches up to the nearest occurrence after the ~ |
~\\ = Only folder of 1 level |
Patterns can be combined freely.
Examples
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
Notes
~~is not supported as a valid pattern. The character after~acts as a sequence terminator.- The pattern
~or*only equals "anything" when it stands alone.