![]() |
![]() |
Binding operatorBinding operator |
||
This operator is a really ugly, poor and clueless attempt to reach at least 1% of the
power of the perl =~ operator :D It allows some complex string operations to be performed efficently by operating directly on the left operand (in fact this is a lot faster in KVIrc since at least one step of parsing is skipped). Its basic syntax is: <left_operand> =~ <operation>[parameters] Where <operation> may be one of 't','s' and parameters depend on it. <left_operand> is the target of the <operation>. If <left_operand> is an array or dictionary, the <operation> is executed on each item they contain. Operation 't' is the transliteration. The complete syntax with parameters is: <left_operand> =~ t/<search characters>/<replacement characters>/ where <search characters> is a string of characters that are replaced with the corresponding characters in <replacement characters>. This operation can be also named 'y' or 'tr' (to preserve some compatibility with other languages).
The complete syntax with parameters is: <left_operand> =~ s/<search pattern>/<replacement pattern>/[flags] where <search pattern> is an extended regular expression to be matched in the <left_operand> and <replacement string> is a special pattern that will replace any occurence found. <search pattern> may contain parentheses to capture parts of the matched text. <replacement string> can contain the escape sequences \\N where N is a number between 1 and 9 to be replaced by the captured text. Please note that you need to double the backslashes in the search pattern since the KVS parser will first unquote the string and then pass it to the regexp engine. That's also why we use \\N and not \N. \\0 is a special escape that will be replaced by the entire match (is always valid!). [flags] may be a combination of the letters 'g','i' and 'w'. 'g' causes the search to be global and not stop after the first occurence of <search pattern>. 'i' causes the search to be case insensitive. 'm' causes the search to be case minimal (non-greedy). 'w' causes the search pattern to be interpreted as a simple wildcard regular expression. |
||
Examples | ||
|
||
See also | ||
operators |