Welcome

首页 / 软件开发 / Delphi / Delphi中正则表达式语法(7) 匹配转义字符

Delphi中正则表达式语法(7) 匹配转义字符2012-12-20 万一
// ? 号的意义是匹配 0-1 次, 如果需要匹配 ? 怎么办varreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil); reg.Subject := "你好吗? 还行!";reg.RegEx := "?|!"; // 加转义用的 
eg.Replacement := "◆";reg.ReplaceAll; ShowMessage(reg.Subject); //返回: 你好吗◆ 还行◆ FreeAndNil(reg);end; //乱用转义符号  有时是可以的, 但有时会出问题, 最好不要乱用varreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil); reg.Subject := "你好吗? 还行!";reg.RegEx := "?|!|好"; // 给没必要的 "!" 与 "好" 加了  在本例中也正常了reg.Replacement := "◆";reg.ReplaceAll; ShowMessage(reg.Subject); //返回: 你◆吗◆ 还行◆ FreeAndNil(reg);end;{ 本来是有一个选项 [preExtra] 禁止乱用的, 但效果不好}
正则表达式中的特殊字符表:
 特殊字符 在正则表达式中的意义 匹配字符本身 
^匹配字符串的开始,或不匹配 [] 中的内容^
$匹配字符串的结尾$
( 和 )标记子表达式( 和 )
[ 和 ]匹配"多种字符" 的表达式[ 和 ]
{ 和 }匹配次数的符号{ 和 }
.匹配除换行符以外的所有字符.
匹配 0 次或 1 次
+匹配至少 1 次+
*匹配 0 次或任意次*
||
转义符号本身\