PregFind: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
Fernando187 (talk | contribs) (Remove obsolete Requirements section) |
||
(24 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
{{Server client function}} | {{Server client function}} | ||
This function | {{New items|3.0135|1.3.5| | ||
This function stops at the first occurrence of the pattern in the input string and returns the result of the search. | |||
}} | |||
{{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"> | ||
bool pregFind ( string | bool pregFind ( string subject, string pattern [, int/string flags ] ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===Required Arguments=== | ===Required Arguments=== | ||
*''' | *'''subject:''' The input [[string]] | ||
*'''pattern:''' The pattern for | *'''pattern:''' The pattern [[string]] to search for in the input [[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 ) | |||
===Returns=== | ===Returns=== | ||
Returns | Returns ''true'' if the pattern was found in the input string, ''false'' otherwise. | ||
==Example== | ==Example== | ||
Line 22: | Line 28: | ||
addCommandHandler( 'examples', | addCommandHandler( 'examples', | ||
function( ) | function( ) | ||
-- hello | -- find the first occurrence of 'hello world' in a string | ||
outputDebugString( pregFind( 'hello world, hello world, hello world', 'hello world' ) and 'found' or 'not found' ) -- found | outputDebugString( pregFind( 'hello world, hello world, hello world', 'hello world' ) and 'found' or 'not found' ) -- found | ||
-- integer | -- find the first occurrence of an integer in a string | ||
outputDebugString( pregFind( '123', '^-{0,1}\\d+$' ) and 'found' or 'not found' ) -- found | outputDebugString( pregFind( '123', '^-{0,1}\\d+$' ) and 'found' or 'not found' ) -- found | ||
-- | -- check if the input string consists of at least 3 letters from a to z (both uppercase and lowercase) and does not contain any whitespace characters | ||
outputDebugString( pregFind( 'Kenix', '[a-zA-Z]{3,}' ) and 'found' or 'not found' ) -- found | outputDebugString( pregFind( 'Kenix', '^[a-zA-Z]{3,}$' ) and 'found' or 'not found' ) -- found | ||
-- | -- check if the input string matches the format of a role-play name | ||
outputDebugString( pregFind( 'привет привет', 'привет' ) and 'found' or 'not found' ) -- found | outputDebugString( pregFind( 'Garry_Newman', '([A-Z]{1,1})[a-z]{2,9}_([A-Z]{1,1})[a-z]{2,9}' ) and 'found' or 'not found' ) -- found | ||
-- | -- example of a search for non-ASCII characters (i.e. cyrillic) - привет | ||
outputDebugString( pregFind( 'Всем привет парни, ещё раз привет :D', 'привет' ) and 'found' or 'not found' ) -- found | |||
-- example of a search for a specific sequence of numbers | |||
outputDebugString( pregFind( '5, 10', '^([1-9]{1}[0-9]{0,})+(((,\s|,)[1-9]{1}[0-9]{0,}){0,1}){1,1}' ) and 'found' or 'not found' ) -- found | outputDebugString( pregFind( '5, 10', '^([1-9]{1}[0-9]{0,})+(((,\s|,)[1-9]{1}[0-9]{0,}){0,1}){1,1}' ) and 'found' or 'not found' ) -- found | ||
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 stops at the first occurrence of the pattern in the input string and returns the result of the search.
Syntax
bool pregFind ( string subject, string pattern [, int/string flags ] )
Required Arguments
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 )
Returns
Returns true if the pattern was found in the input string, false otherwise.
Example
Click to collapse [-]
Shared ( client and server )Some examples:
addCommandHandler( 'examples', function( ) -- find the first occurrence of 'hello world' in a string outputDebugString( pregFind( 'hello world, hello world, hello world', 'hello world' ) and 'found' or 'not found' ) -- found -- find the first occurrence of an integer in a string outputDebugString( pregFind( '123', '^-{0,1}\\d+$' ) and 'found' or 'not found' ) -- found -- check if the input string consists of at least 3 letters from a to z (both uppercase and lowercase) and does not contain any whitespace characters outputDebugString( pregFind( 'Kenix', '^[a-zA-Z]{3,}$' ) and 'found' or 'not found' ) -- found -- check if the input string matches the format of a role-play name outputDebugString( pregFind( 'Garry_Newman', '([A-Z]{1,1})[a-z]{2,9}_([A-Z]{1,1})[a-z]{2,9}' ) and 'found' or 'not found' ) -- found -- example of a search for non-ASCII characters (i.e. cyrillic) - привет outputDebugString( pregFind( 'Всем привет парни, ещё раз привет :D', 'привет' ) and 'found' or 'not found' ) -- found -- example of a search for a specific sequence of numbers outputDebugString( pregFind( '5, 10', '^([1-9]{1}[0-9]{0,})+(((,\s|,)[1-9]{1}[0-9]{0,}){0,1}){1,1}' ) and 'found' or 'not found' ) -- found end )
Changelog
Version | Description |
---|
1.5.0-9.07315 | Added flag "u" in regular expressions |
See Also
- addDebugHook
- base64Decode
- base64Encode
- 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