From WikiChip
Difference between revisions of "mirc/wildcard"
< mirc

Line 10: Line 10:
 
For example the expression "t*s a *?t" matchtes the string "this is a text"
 
For example the expression "t*s a *?t" matchtes the string "this is a text"
  
If & is not used alone it matches the plain text '&' character. It also doesn't match $chr(32)
+
If & is not used alone it matches the plain text '&' character
 +
 
 +
'''Note''': It also doesn't match $chr(32) if used to match a whole word, see below
  
 
"test &" matches "test this" or "test that"
 
"test &" matches "test this" or "test that"
Line 20: Line 22:
 
"test th&s" matches only "test th&s"
 
"test th&s" matches only "test th&s"
  
"test &" doesn't match "test $chr(32)"
+
"test &" doesn't match "test $chr(32)" (consider $chr(32) to be evaluated here)
  
Be careful when using the & wildcard character inside /if or $iif, it could be interpreted as the & bitwise operator:
+
Be careful when using the & wildcard character inside /if (and the like: $iif, /while, /elseif) it could be interpreted as the & bitwise operator:
  
 
<source lang="mIRC">if (test & iswm test this)</source>  
 
<source lang="mIRC">if (test & iswm test this)</source>  
Line 28: Line 30:
 
<source lang="mIRC">if ($(test &) iswm test this)</source>
 
<source lang="mIRC">if ($(test &) iswm test this)</source>
  
If you need to use any of these special characters as plain text in an expression where they are taken as special (not always for &), you can try to use a regular expression instead.
+
If you need to use any of these special characters as plain text in an expression where they are taken as wildcard character (that is, not always the case for &), you can try to use a {{mIRC|Regex|regular expression}} instead.
 +
 
 +
The number of function/feature of the language supporting wildcard matching is simply too high to make a list, but here are the main usage:
 +
 
 +
* The iswm operator can be used with /if (and the like) to make a wildcard comparison:
 +
<source lang="mIRC">
 +
if (test* iswm $1-) { }
 +
 
 +
</source>

Revision as of 14:29, 16 October 2014

Template:mIRC Guide

Wildcard characters are special characters that are interpreted when comparing text.

There are three meaningful wildcard characters:

  •  ? - matches a single character
  • * - matches everything (including nothing)
  • & - matches a whole word if used alone

For example the expression "t*s a *?t" matchtes the string "this is a text"

If & is not used alone it matches the plain text '&' character

Note: It also doesn't match $chr(32) if used to match a whole word, see below

"test &" matches "test this" or "test that"

"test &his" matches only "test &his"

"test thi&" matches only "test thi&"

"test th&s" matches only "test th&s"

"test &" doesn't match "test $chr(32)" (consider $chr(32) to be evaluated here)

Be careful when using the & wildcard character inside /if (and the like: $iif, /while, /elseif) it could be interpreted as the & bitwise operator:

if (test & iswm test this)

is not true because & is used as the bitwise operator, you can use $eval() to force mIRC to read the parameter the way you want:

if ($(test &) iswm test this)

If you need to use any of these special characters as plain text in an expression where they are taken as wildcard character (that is, not always the case for &), you can try to use a regular expression instead.

The number of function/feature of the language supporting wildcard matching is simply too high to make a list, but here are the main usage:

  • The iswm operator can be used with /if (and the like) to make a wildcard comparison:
if (test* iswm $1-) { }