Wildcard expression
Wildcard expression is a simple text format that supports wildcard characters, regular expression, "match case", "text1 or text2" and "not text". Like a regular expression, but much simpler. Used with "find" functions, for example wnd.find.
Wildcard characters:
| Character | Will match | Examples |
|---|---|---|
* |
Zero or more of any characters. | "start*", "*end", "*middle*" |
? |
Any single character. | "date ????-??-??" |
There are no escape sequences for * and ? characters, unless you use regular expression.
By default case-insensitive. Always culture-insensitive.
Can start with **options :
| Option | Description | Examples |
|---|---|---|
t |
Literal text (* and ? are not wildcard characters). |
"**t text" |
r |
Text is PCRE regular expression (regexp). Syntax: full, short. |
"**r regex" |
R |
Text is .NET regular expression (Regex). Cannot be used with elm and elmFinder. |
"**R regex" |
c |
Must match case. | "**tc text", "**rc regex" |
m |
Multi-part (match any part). Separator ||. |
"**m findAAA||orBBB||**r orCCC" |
m(sep) |
Multi-part. Separator sep. |
"**m(^^^) findAAA^^^orBBB" |
n |
Must not match. | "**mn notAAA||andNotBBB" |
Only one of t, r, R, m can be specified. Option c specified with m is applied to all parts. Option n is applied finally.
If the function argument is null or omitted, it usually means "match any". Wildcard expression "" matches only "". Exception ArgumentException if invalid **options or regular expression.
Examples:
//Find window. Its name ends with "- Notepad" and program is "notepad.exe".
var w = wnd.find("*- Notepad", program: "notepad.exe");
//Find item in x. Its property 1 is "example" (case-insensitive), property 2 starts with "2017-" and property 3 matches a case-sensitive regular expression.
var item = x.FindItem("example", "2017-*", "**rc regex");