PregReplace: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
Fernando187 (talk | contribs) (Remove obsolete Requirements section) |
||
(8 intermediate revisions by 5 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 performs a regular expression search and replace and returns the replaced string. | This function performs a regular expression search and replace and returns the replaced string. | ||
}} | }} | ||
{{Warning|When declaring a pattern string in quotes, the backslash character should be doubled up. e.g. "\\(" will match a single bracket. This also applies to the replacement string.}} | |||
{{Warning|Multiline flag does not work correctly}} | |||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
string pregReplace ( string subject, string pattern, string replacement ) | string pregReplace ( string subject, string pattern, string replacement [, int/string flags ] ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 14: | Line 16: | ||
*'''pattern:''' The pattern [[string]] to search for in the input [[string]]. | *'''pattern:''' The pattern [[string]] to search for in the input [[string]]. | ||
*'''replacement:''' The replacement [[string]] to replace all matches within the input [[string]]. | *'''replacement:''' The replacement [[string]] to replace all matches within 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=== | ||
Line 22: | Line 27: | ||
Some examples: | Some examples: | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
addCommandHandler( 'examples', | addCommandHandler('examples', | ||
function () | |||
-- Replace doh with done | |||
outputDebugString( pregReplace( 'I doh this, guys.', 'doh', 'done' ) or 'not replaced' ) -- Result: I done this, guys | |||
-- Remove all uppercase alphabetic characters | |||
outputDebugString( pregReplace( 'AaaBbbZzz', '[A-Z]{1,}', '' ) or 'not replaced' ) -- Result: aabbzz | |||
-- Use simple backreference in replacement string | |||
outputDebugString( pregReplace( "I love Lua!", "(Lua)", "Moon\\1" ) ) -- Result: I love MoonLua! | |||
-- Remove repeated characters | |||
outputDebugString( pregReplace( "Keeeeeep this shooooooort.", "((.)\\2{2})\\2+", "\\1" ) ) -- Result: Keeep this shooort. | |||
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 performs a regular expression search and replace and returns the replaced string.
Syntax
string pregReplace ( string subject, string pattern, string replacement [, int/string flags ] )
Required Arguments
- subject: The input string.
- pattern: The pattern string to search for in the input string.
- replacement: The replacement string to replace all matches within 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 the replaced string, or bool false otherwise.
Example
Click to collapse [-]
Shared ( client and server )Some examples:
addCommandHandler('examples', function () -- Replace doh with done outputDebugString( pregReplace( 'I doh this, guys.', 'doh', 'done' ) or 'not replaced' ) -- Result: I done this, guys -- Remove all uppercase alphabetic characters outputDebugString( pregReplace( 'AaaBbbZzz', '[A-Z]{1,}', '' ) or 'not replaced' ) -- Result: aabbzz -- Use simple backreference in replacement string outputDebugString( pregReplace( "I love Lua!", "(Lua)", "Moon\\1" ) ) -- Result: I love MoonLua! -- Remove repeated characters outputDebugString( pregReplace( "Keeeeeep this shooooooort.", "((.)\\2{2})\\2+", "\\1" ) ) -- Result: Keeep this shooort. 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