PregMatch: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
| mNo edit summary | Fernando187 (talk | contribs)   (Remove obsolete Requirements section) | ||
| (11 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
| __NOTOC__ | __NOTOC__ | ||
| {{Server client function}} | {{Server client function}} | ||
| {{New items| | {{New items|3.0135|1.3.5| | ||
| This function returns all matches. | This function returns all matches. | ||
| }} | }} | ||
| {{Warning|When declaring a pattern string in quotes, the backslash character should be doubled up. e.g. "\\(" will match a single bracket.}}  | |||
| {{Warning|Multiline flag does not work correctly}} | |||
| ==Syntax== | ==Syntax== | ||
| <syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
| table pregMatch ( string base, string pattern ) | table pregMatch ( string base, string pattern [, int/string flags = 0, int maxResults = 100000 ] ) | ||
| </syntaxhighlight> | </syntaxhighlight> | ||
| Line 13: | Line 14: | ||
| *'''base:''' The base [[string]] for replace. | *'''base:''' The base [[string]] for replace. | ||
| *'''pattern:''' The pattern for match in base string. | *'''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=== | ||
| Returns  | Returns a ''[[table]]'' if one or more match is found, ''false'' otherwise. | ||
| ==Example==   | ==Example==   | ||
| Line 21: | Line 27: | ||
| Some examples: | Some examples: | ||
| <syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
| addCommandHandler( ' | addCommandHandler( 'example', | ||
| 	function( ) | 	function( ) | ||
|                  --[[ |                  --[[ | ||
| Line 28: | Line 34: | ||
|                  Match: 2, hello |                  Match: 2, hello | ||
|                  ]]   |                  ]]   | ||
|                  for i, v in ipairs( pregMatch(  |                  for i, v in ipairs( pregMatch( "hello hello", "(hello)"  ) ) do | ||
| 	            outputDebugString(  | 	            outputDebugString( "Match: " .. i .. ", " .. v ); | ||
|                  end |                  end | ||
| 	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 | |||
| ); | |||
| </syntaxhighlight> | </syntaxhighlight> | ||
| </section> | </section> | ||
| == | ==Changelog== | ||
| {{ | {{ChangelogHeader}} | ||
| {{ChangelogItem|1.5.0-9.07315|Added flag "u" in regular expressions}} | |||
| ==See Also== | ==See Also== | ||
| {{Utility_functions}} | {{Utility_functions}} | ||
Latest revision as of 17:11, 7 November 2024
This function returns all matches.
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
);
Changelog
| Version | Description | 
|---|
| 1.5.0-9.07315 | Added flag "u" in regular expressions | 
See Also
- addDebugHook
- debugSleep
- decodeString
- encodeString
- fromJSON
- generateKeyPair
- getColorFromString
- getDevelopmentMode
- getDistanceBetweenPoints2D
- getDistanceBetweenPoints3D
- getEasingValue
- getNetworkStats
- getNetworkUsageData
- getPerformanceStats
- getRealTime
- getTickCount
- getTimerDetails
- getTimers
- getFPSLimit
- getUserdataType
- getVersion
- gettok
- isTransferBoxVisible
- setTransferBoxVisible
- hash
- inspect
- interpolateBetween
- iprint
- isOOPEnabled
- isTimer
- killTimer
- md5
- passwordHash
- passwordVerify
- pregFind
- pregMatch
- pregReplace
- removeDebugHook
- resetTimer
- setDevelopmentMode
- setFPSLimit
- setTimer
- ref
- deref
- sha256
- split
- teaDecode
- teaEncode
- toJSON
- tocolor
- getProcessMemoryStats
- utfChar
- utfCode
- utfLen
- utfSeek
- utfSub
- bitAnd
- bitNot
- bitOr
- bitXor
- bitTest
- bitLRotate
- bitRRotate
- bitLShift
- bitRShift
- bitArShift
- bitExtract
- bitReplace