PregReplace: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (Extended warning and added two examples) |
||
Line 4: | Line 4: | ||
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.}} | {{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}} | {{Warning|Multiline flag does not work correctly}} | ||
Line 27: | 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> |
Revision as of 21:19, 12 July 2016
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 ) or ( i - Ignore case, m - Multiline, d - Dotall, e - Extended )
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 )
Requirements
This template will be deleted.
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