否定的先読みは、指定のパターンの前にパターンがないことをチェックします。?!は、否定的先読みを示します。次の正規表現は、後に数字またはスペースが続かないカンマをマッチし、パターンをカンマとスペースで置き換えます。
Regex( "one,two 1,234 cat,dog,duck fish, and chips, to go",
",(?!\d|\s)", ", ", GLOBALREPLACE );
肯定的先読みは、指定のパターンの前にパターンがあることをチェックします。?=は、肯定的先読みを示します。次の正規表現は、前述の否定的先読みと同じ結果になりますが、後に任意の小文字が続くカンマにマッチします。
Regex( "one,two 1,234 cat,dog,duck fish, and chips, to go",
",(?=[a-z])", ", ",GLOBALREPLACE );
data = "name=bill salary=$5 ssn=123-45-6789 age=13,name=mary salary=$6 ssn=987-65-4321 age=14";
redacted = Regex(data, "(?<=(ssn=)|(salary=))[$\d-]*", "###", GLOBALREPLACE);
data = "name=bill salary=$5 ssn=123-45-6789 age=13,name=mary salary=$6 ssn=987-65-4321 age=14";
redacted = Regex(data, "((ssn=)|(salary=))[$\d-]*", "\1###", GLOBALREPLACE);
後方参照については、第 “後方参照とキャプチャするグループ”を参照してください。