PregReplace

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This function performs a regular expression search and replace and returns the replaced string.

[[|link=|]] 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.
[[|link=|]] Warning: Multiline flag does not work correctly

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
)

Requirements

Minimum server version 1.3.5-9.06056
Minimum client version 1.3.5-9.06056

Note: Using this feature requires the resource to have the above minimum version declared in the meta.xml <min_mta_version> section. e.g. <min_mta_version server="1.3.5-9.06056" client="1.3.5-9.06056" />

Changelog

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

See Also