zoukankan      html  css  js  c++  java
  • perl 替换一例

    $line =~ s/^s+//;  #去掉$line中起始部分的空格
    $line =~ s/s+$//; #去掉$line中结束部分的空格

    =~ 是perl的正则表达式操作符
    这里采用的是替换语意:

    s/被替换的内容/替换成为/其它开关选项;

    注意用'/'隔开个个部分.

    s表示任意空白字符,包括空格制表符(Tab)等等
    +表示匹配一个或多个
    ^用在起始位置表明从起始位置开始匹配
    $用在结束位置表明匹配结束位置

    ================================================

    附送一例:如何匹配verilog代码中注释(/* */中内容)

    $file =~ s//*.*?*///sg
    下面开始来解释上面式子的内容:
    =~
    =~ 念做 “does match" ,是匹配的意思;
      表示左边的字符串是否匹配右边的正则表达式。
    
    
    s/被替换的内容A/替换成为B/其它开关选项C; =》对应上面式子中的红色背景部分,其中A在这里就是/*任意字符*/,B在这里就是空白符,C在这里为sg,意思如下:
    /s是作为模式匹配的选项,代表将要匹配的字串作为单行进行匹配。即如果$caseid这个字串中包含了换行符/回车之类的字符,仍将被按照单行来进行模式匹配。这个选项与/m的作用正好相反。
    /g的意思是匹配所有模式。如果被匹配的字串中有多个匹配项,则匹配的结果会输出所有匹配项。如果不加这个选项,则只输出第一个匹配项
    关于/*与*/之间匹配到的任意字符:
    第一个/*用到了转义符,对应于式子中的蓝色部分/*

    中间的任意字符用.*?来实现

    后面的*/用*/来实现
    
    
  • 相关阅读:
    什么叫精通C++
    编程好书推荐
    Reading Notes ofC Traps and Pitfalls
    继承的小问题
    关于strcpy函数
    #pragma once 与 #ifndef 的区别解析
    模板类的友元重载函数
    NET开发人员必知的八个网站
    获取MDI窗体的实例
    .Net下收发邮件第三方公共库
  • 原文地址:https://www.cnblogs.com/leaftime/p/7096289.html
Copyright © 2011-2022 走看看