zoukankan      html  css  js  c++  java
  • Delphi 正则表达式语法(7): 匹配转义字符

    // ? 号的意义是匹配 0-1 次, 如果需要匹配 ? 怎么办
    var
      reg: TPerlRegEx;
    begin
      reg := TPerlRegEx.Create(nil);
    
      reg.Subject := '你好吗? 还行!';
      reg.RegEx   := '?|!'; // 加转义用的 
      reg.Replacement := '◆';
      reg.ReplaceAll;
    
      ShowMessage(reg.Subject); //返回: 你好吗◆ 还行◆
    
      FreeAndNil(reg);
    end;

    //乱用转义符号  有时是可以的, 但有时会出问题, 最好不要乱用
    var
      reg: TPerlRegEx;
    begin
      reg := TPerlRegEx.Create(nil);
    
      reg.Subject := '你好吗? 还行!';
      reg.RegEx   := '?|!|好'; // 给没必要的 "!" 与 "好" 加了  在本例中也正常了
      reg.Replacement := '◆';
      reg.ReplaceAll;
    
      ShowMessage(reg.Subject); //返回: 你◆吗◆ 还行◆
    
      FreeAndNil(reg);
    end;
    { 本来是有一个选项 [preExtra] 禁止乱用的, 但效果不好}
    

    正则表达式中的特殊字符表: 

     特殊字符  在正则表达式中的意义  匹配字符本身 
    ^ 匹配字符串的开始,或不匹配 [] 中的内容 ^
    $ 匹配字符串的结尾 $
    ( 和 ) 标记子表达式 ( 和 )
    [ 和 ] 匹配"多种字符" 的表达式 [ 和 ]
    { 和 } 匹配次数的符号 { 和 }
    . 匹配除换行符以外的所有字符 .
    ? 匹配 0 次或 1 次 ?
    + 匹配至少 1 次 +
    * 匹配 0 次或任意次 *
    | |
    转义符号本身 \

  • 相关阅读:
    转: React系统的入门系统
    转: Android官方培训课程中文版(v0.9.5)
    释放Linux系统缓存
    Hyperledger Fabric1.0环境搭建
    JS中的call、apply、bind
    资产和负债
    JS以指定格式获取当前日期
    apache2.4配置ssl
    Apache2.4整合tomcat8
    使用JDK将tomcat变成https访问
  • 原文地址:https://www.cnblogs.com/honeynm/p/4058708.html
Copyright © 2011-2022 走看看