Skip to content

pregMatch

Shared

Manual Review Required

Please finish this page using the corresponding Old Wiki article. Go to Contribution guidelines for more information.


This function returns all matches.

Caution

When declaring a pattern string in quotes, the backslash character should be doubled up. e.g. "\(" will match a single bracket.

Caution

Multiline flag does not work correctly

Syntax

table pregMatch ( ​string base, ​string pattern, [ ​int/string flags = 0, ​int maxResults = 100000 ] )
Required arguments
  • base: The base string for replace.
  • pattern: The pattern for match in base string.
Optional arguments

Note: when using optional arguments, you might need to supply all arguments before the one you wish to use.

  • flags (default: 0): Conjuncted value that contains flags ( 1 - ignorecase, 2 - multiline, 4 - dotall, 8 - extended, 16 - unicode ) or ( i - Ignore case, m - Multiline, d - Dotall, e - Extended, u - Unicode )
  • maxResults (default: 100000): Maximum number of results to return

Returns

Returns a table if one or more match is found, false otherwise.

  • table: value

Code Examples

shared

Some examples:

addCommandHandler( 'example',
function( )
--[[
Will print:
Match: 1, hello
Match: 2, hello
]]
for i, v in ipairs( pregMatch( "hello hello", "(hello)" ) ) do
outputDebugString( "Match: " .. i .. ", " .. v );
end
end
);
addCommandHandler( 'example2',
function( )
--[[
Will print:
Match: 1, somebodyWWw
Match: 2, 228
]]
for i, v in ipairs( pregMatch( "somebodyWWw\n228", "([a-z0-9]+)", "im" ) ) do
outputDebugString( "Match: " .. i .. ", " .. v );
end
end
);