Delphi中正则表达式语法(4) 常用转义字符与2012-12-20 万一
// d 匹配所有数字, 相当于 [0-9]varreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil); reg.Subject := "期待Delphi 2008 for Win32!";reg.RegEx := "d";reg.Replacement := "◆";reg.ReplaceAll; ShowMessage(reg.Subject); //返回: 期待Delphi ◆◆◆◆ for Win◆◆! FreeAndNil(reg);end; // D 匹配所有非数字, 相当于 [^0-9]varreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil); reg.Subject := "期待Delphi 2008 for Win32!";reg.RegEx := "D";reg.Replacement := "◆";reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆◆◆◆◆◆◆◆◆◆◆2008◆◆◆◆◆◆◆◆32◆◆ FreeAndNil(reg);end; // w 匹配字母、数字与下划线_, 相当于 [A-Za-z0-9_]varreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil); reg.Subject := "期待Delphi 2008 for Win32!";reg.RegEx := "w";reg.Replacement := "◆";reg.ReplaceAll; ShowMessage(reg.Subject); //返回: 期待◆◆◆◆◆◆ ◆◆◆◆ ◆◆◆ ◆◆◆◆◆!FreeAndNil(reg);end; // W 匹配非字母、数字与下划线_, 相当于 [^A-Za-z0-9_]varreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil); reg.Subject := "期待Delphi 2008 for Win32!";reg.RegEx := "W";reg.Replacement := "◆";reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆◆◆◆Delphi◆2008◆for◆Win32◆◆ FreeAndNil(reg);end; // s 匹配任何空白, 包括空格、制表、换页等, 相当于 [f
v]varreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil); reg.Subject := "期待Delphi 2008 for Win32!";reg.RegEx := "s";reg.Replacement := "◆";reg.ReplaceAll; ShowMessage(reg.Subject); //返回: 期待Delphi◆2008◆for◆Win32! FreeAndNil(reg);end; {f : 换页符
: 换行符
: 回车符 : 制表符(Tab)v : 垂直制表符} // S 匹配任何非空白, 相当于 [^f
v] // www.bianceng.cnvarreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil); reg.Subject := "期待Delphi 2008 for Win32!";reg.RegEx := "S";reg.Replacement := "◆";reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆◆◆◆◆◆◆◆◆◆ ◆◆◆◆ ◆◆◆ ◆◆◆◆◆◆◆ FreeAndNil(reg);end; // x 匹配十六进制的 ASCIIvarreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil); reg.Subject := "CodeGear Delphi";reg.RegEx := "x61"; // a 的 ASCII 值是 97, 也就是十六进制的 61reg.Replacement := "◆";reg.ReplaceAll; ShowMessage(reg.Subject); //返回: CodeGe◆r Delphi FreeAndNil(reg);end; //非常遗憾 TPerlRegEx 不能使用 u 或 U 匹配 Unicode 字符! // . 匹配除换行符以外的任何字符varreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil); reg.Subject := "期待" + #10 + "Delphi 2008 for Win32!"; //#10是换行符reg.RegEx := ".";reg.Replacement := "◆";reg.ReplaceAll; ShowMessage(reg.Subject);{返回:◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆} FreeAndNil(reg);end;