PregMatch

From Multi Theft Auto: Wiki

This function returns all matches.

[[|link=]] Warning: When declaring a pattern string in quotes, the backslash character should be doubled up. e.g. "\\(" will match a single bracket.
[[|link=]] Warning: 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

  • flags: 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: Maximum number of results to return


Returns

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

Example

Click to collapse [-]
Shared ( client and server )

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
);

Requirements

Minimum supported server 1.3.5-9.06056
Minimum supported client 1.3.5-9.06056

Note: Using this function requires the resource to have the above minimum version declared in the meta.xml <min_mta_version> section. e.g. <min_mta_version server="1.3.5-9.06056" client="1.3.5-9.06056" />

Changelog

Version Description
1.5.0-9.07315 Added flag "u" in regular expressions

See Also