|
RegularExpressionMatch
int
RegularExpressionMatch(string
regexp, string string)
Return
Value
Returns TRUE if string matches pattern. Otherwise returns
FALSE.
Parameters
regexp–pattern
string containing regular espression.
string
– string that needs to be compared
with regexp.
Remarks
Regular expressions
("regex's" for short) are sets of symbols and syntactic elements
used to match patterns of text.Regular expressions can be
used to test for certain conditions in an input string.
Regular Expression
Syntax This table lists the metacharacters understood
by RegularExpressionMatchfunction:
| Metacharacter
|
Meaning |
| .
|
Matches any single character. |
| [ ]
|
Indicates a character class. Matches any character
inside the brackets (for example, [abc]
matches "a", "b", and "c"). |
| ^
|
If this metacharacter occurs at the start of a
character class, it negates the character class. A negated
character class matches any character except those inside the
brackets (for example, [^abc] matches all
characters except "a", "b", and "c").
If ^ is at the beginning of the regular
expression, it matches the beginning of the input (for example,
^[abc] will only match input that begins
with "a", "b", or "c"). |
| -
|
In a character class, indicates a range of
characters (for example, [0-9] matches any
of the digits "0" through "9"). |
| ?
|
Indicates that the preceding expression is
optional: it matches once or not at all (for example, [0-9][0-9]? matches "2" and "12"). |
| +
|
Indicates that the preceding expression matches one
or more times (for example, [0-9]+ matches
"1", "13", "666", and so on). |
| *
|
Indicates that the preceding expression matches
zero or more times. |
| ??, +?, *?
|
Non-greedy versions of ?,
+, and *. These
match as little as possible, unlike the greedy versions which match
as much as possible. Example: given the input
"<abc><def>", <.*?>
matches "<abc>" while <.*>
matches "<abc><def>". |
| ( )
|
Grouping operator. Example: (\d+,)*\d+ matches a list of numbers separated by
commas (such as "1" or "1,23,456"). |
| { }
|
Indicates a match group. Match groups are indicated
by braces, and allow you to extract the actual text that matches
the regular expression using RegularExpressionParse function. |
| \
|
Escape character: interpret the next character
literally (for example, [0-9]+ matches one
or more digits, but [0-9]\+ matches a digit
followed by a plus character). Also used for abbreviations (such as
\a for any alphanumeric character; see
table below).
If \ is followed by a number n,
it matches the nth match group (starting from 0). Example:
<{.*?}>.*?</\0> matches
"<head>Contents</head>".
Note that in NetDecision script language strings, two
backslashes must be used: "\\+",
"\\a", "<{.*?}>.*?</\\0>". |
| $
|
At the end of a regular expression, this character
matches the end of the input. Example: [0-9]$ matches a digit at the end of the input. |
| |
|
Alternation operator: separates two expressions,
exactly one of which matches (for example, T|the matches "The" or "the"). |
| !
|
Negation operator: the expression following
! does not match the input. Example:
a!b matches "a" not followed by "b". |
Abbreviations
RegularExpressionMatch
can handle abbreviations, such as \d
instead of [0-9]. The following
abbreviations are defined:
| Abbreviation |
Matches |
| \a |
Any alphanumeric character: ([a-zA-Z0-9]) |
| \b |
White space (blank): ([ \\t]) |
| \c |
Any alphabetic character: ([a-zA-Z]) |
| \d |
Any decimal digit: ([0-9]) |
| \h |
Any hexadecimal digit: ([0-9a-fA-F]) |
| \n |
Newline: (\r|(\r?\n)) |
| \q |
A quoted string: (\"[^\"]*\")|(\'[^\']*\') |
| \w |
A simple word: ([a-zA-Z]+) |
| \z |
An integer: ([0-9]+) |
Example
The following
example demonstrates the use of
RegularExpressionMatch.
# Example for
RegularExpressionMatch
# match
any line that starts with any number of digits,
# has a
colon, and ends with any number of digits
int nResult
nResult =
RegularExpressionMatch("{[0-9]?[0-9]}:{[0-9][0-9]}", "1:57")
Println(nResult)
if (nResult == TRUE)
Println("Match")
else
Println("No Match")
endif
|