• Perl:理解正则中“.”可匹配出回车符(“ ”)外任意字符的例子,配合 $^I 关键字


    要把下面文件的内容改了,

    Program name: granite
    Author: Gilbert Bates
    Company: RockSoft
    Department: R&D
    Phone: +1 503 555-0095
    Date: Tues March 9, 2004
    Version: 2.1
    Size: 21k
    Status: Final beta

    改成这样:

    Program name: granite
    Author: Judas
    Company: RockSoft
    Department: R&D
    Date: Wed Jul  3 02:52:49 EDT 2019
    Version: 2.1
    Size: 21k
    Status: Final beta

    下面的代码中,第102行想实现删除phone的那一行文件内容,但实际上没有删除最后的换行符

         98 chomp(my $date = `date`);
         99 $^I = ".bak";
        100 while(<>){
        101     s/Author:.*/Author: Wei Yan/;
        102     s/^Phone.*//;
        103     s/Date.*/Date: $date/;
        104     print;
        105 }

    导致文件内容产生了一行空格:

    Program name: granite
    Author: Wei Yan
    Company: RockSoft
    Department: R&D

    Date: Wed Jul  3 02:52:49 EDT 2019
    Version: 2.1
    Size: 21k
    Status: Final beta

    如果把102行代码改为:

        102     s/^Phone.*//s;

    或者

        102     s/^Phone.* //s;

    就能把phone那一行完全删除

  • 相关阅读:
    添加egit插件
    Git使用教程
    mysql set names 命令和 mysql字符编码问题
    git常用命令
    前端WEB编辑器-------webstrom
    maven 常见错误解决方法
    java -jar 执行 eclipse export 的 jar 包报错处理
    数据库(DBUtils)
    数据库(JDBC、DBUtils)
    rabbitmq Exchange四种模式
  • 原文地址:https://www.cnblogs.com/books2read/p/11126526.html
Copyright © 2020-2023  润新知