RegEx

Regular Expression Callbacks

Summary
RegExRegular Expression Callbacks
RegEx_MatchRegExMatch with callback
RegEx_ReplaceRegExReplace with callback
Example
About

RegEx_Match

RegEx_Match(ByRef HayStack,  
 Pattern,  
 Fun,  
 Start = 1)

RegExMatch with callback

Parameters

HayStackReference to the string to be analysed
PatternRegular Expression pattern without named sub-patterns
FunAHK callback.  Function must have number of arguments equal to number of sub-patterns + 1.  First parameter contains entire match, additional parameters are values of sub-patterns.  Function returns true/false to continue/stop matching.
StartStart position

Returns

Number of times callback is called

RegEx_Replace

RegEx_Replace(ByRef HayStack,  
 Pattern,  
 Fun,  
 Start = 1)

RegExReplace with callback

Parameters

HayStackReference to the string to be analysed
PatternRegular Expression pattern without named sub-patterns
FunAHK callback.  Function must have number of arguments equal to number of sub-patterns + 1.  First parameter contains entire match, additional parameters are values of sub-patterns.  Function returns string that will be used as replacement for current match.
StartStart position

Returns

New haystack

Example

    text := "a b c abc123efg abc9000cde"
    s := RegEx_Replace(text, "abc([0-9]+)", "MyFun")
    msgbox %s%
return

MyFun($, $1){
    return $1 * 2
}

About

RegEx_Match(ByRef HayStack,  
 Pattern,  
 Fun,  
 Start = 1)
RegExMatch with callback
RegEx_Replace(ByRef HayStack,  
 Pattern,  
 Fun,  
 Start = 1)
RegExReplace with callback
Close