level 3
badwood2
楼主
代码如下
uses
VBScript_RegExp_55_TLB;
var
RE: TRegExp;
begin
RE:= TRegExp.Create(nil);
RE.Global := Global;
RE.IgnoreCase := true;
RE.Pattern :='a(.*?)c';
try
result := RE.Replace('abc','\$1'); //这里的替换字符串中 $ 前加了一个反斜杠转义,但是没有效果
except
end;
RE.Free;
end;
执行的结果是 \b ,虽然 $前加了反斜杠,但没有起到转义作用,$1仍然引用了子匹配。
请教 如果希望替换值中的 $1 不会引用子匹配,该如何正确转义?
2015年12月03日 10点12分
1
uses
VBScript_RegExp_55_TLB;
var
RE: TRegExp;
begin
RE:= TRegExp.Create(nil);
RE.Global := Global;
RE.IgnoreCase := true;
RE.Pattern :='a(.*?)c';
try
result := RE.Replace('abc','\$1'); //这里的替换字符串中 $ 前加了一个反斜杠转义,但是没有效果
except
end;
RE.Free;
end;
执行的结果是 \b ,虽然 $前加了反斜杠,但没有起到转义作用,$1仍然引用了子匹配。
请教 如果希望替换值中的 $1 不会引用子匹配,该如何正确转义?
