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 次或任意次 *
    | |
    转义符号本身 \

  • 相关阅读:
    三角形的最大周长
    Java 虚拟机运行时数据区详解
    四数相加 II
    Java 注解详解
    四因数
    【论文笔记+复现踩坑】End-to-end Recovery of Human Shape and Pose(CVPR 2018)
    假如 Web 当初不支持动态化
    保姆级干货分享
    C# ±180的值转成0-360
    C# 校验算法小结
  • 原文地址:https://www.cnblogs.com/honeynm/p/4058708.html
Copyright © 2011-2022 走看看