API strmatch

104,432pages on
this wiki
WoW Lua

Extract substrings by matching against a pattern.

match [, match2, ...] = string.match(string, pattern[, initpos])
match1[, match2, ...] = strmatch(string, pattern[, initpos])

Arguments Edit

String - The string to examine.
String - The pattern to search for within string. This pattern is similar to Unix regular expressions, but is not the same -- see Lua Pattern matching for more details.
Integer - Index of the character within string to begin searching. As is usual for Lua string functions, 1 refers to the first character of the string, 2 to the second, etc. -1 refers to the last character of the string, -2 to the second last, etc. If this argument is omitted, it defaults to 1; i.e., the search begins at the beginning of string.

Returns Edit

match1, match2, etc. 
String - The matched substring(s) found within string. Multiple return values can occur.

Discussion Edit

This function is similar to strfind, except that strmatch returns the actual matched strings, whereas strfind returns the starting and ending character positions, and then only those of the first match found.

Multiple return values occur when there are more than one parenthesized section within pattern. Parentheses set off each section to be returned.

If no match is found, returns nil.

Example Edit

> = string.match("I have 2 questions for you.", "%d+ %a+")

2 questions

> = string.format("%d, %q", string.match("I have 2 questions for you.", "(%d+) (%a+)"))

2, "questions"

Around Wikia's network

Random Wiki