10.3.5 Map
The map
method of a regular expression object can be used to replace matched substrings using a custom function. This function takes a regular expression object as its first argument so we may use it to get additional information about the match being done and do conditional replacement. For example:
class Main {
static function main() {
var r = ~/(dog|fox)/g;
var s = "The quick brown fox jumped over the lazy dog.";
var s2 = r.map(s, function(r) {
var match = r.matched(0);
switch (match) {
case 'dog': return 'fox';
case 'fox': return 'dog';
default: throw 'Unknown animal: $match';
};
});
trace(s2); // The quick brown dog jumped over the lazy fox.
}
}