PregMatch: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 16: Line 16:


===Optional Arguments===
===Optional Arguments===
*'''flags:''' Conjuncted value that contains flags ( 1 - ignorecase, 2 - multiline, 4 - dotall, 8 - extended ) or ( i - Ignore case, m - Multiline, d - Dotall, e - Extended )
*'''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
*'''maxResults:''' Maximum number of results to return


Line 58: Line 58:
==Requirements==
==Requirements==
{{Requirements|1.3.5-9.06056|1.3.5-9.06056|}}
{{Requirements|1.3.5-9.06056|1.3.5-9.06056|}}
==Changelog==
{{ChangelogHeader}}
{{ChangelogItem|1.5.0-9.07315|Added flag "u" in regular expressions}}


==See Also==
==See Also==
{{Utility_functions}}
{{Utility_functions}}

Revision as of 02:17, 30 October 2018

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

This template will be deleted.

Changelog

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

See Also