转自http://blog.csdn.net/blog_abel/article/details/40589227 侵删

一. 介绍

使用 s/regex/replacement/modifiers 进行查找替换

二. 实例

(1) s///

 $f = "'quoted words'";
#进行模式匹配,下面方法去除''单引号
if($f =~ s/^'(.*)'$/$/) { #true, $1指的是引用了第一组(.*)的内容, ^$这两个字符用来表示开始与结束 print "matches","\n"; # mathces
print $f,"\n"; # quoted words
# 注意 标量$f 匹配后本身内容发生了变化
}

(2) s///r

用它进行匹配后,原始标量的值不会发生变化,可以把新值赋值给一个新的标量

 $f = "'quoted words'";
#进行模式匹配,下面方法去除''单引号
$n = $f =~ s/^'(.*)'$/$/r; print "matches","\n";
print $f,"\n"; # quoted words # 注意 标量$f 匹配后本身内容无变化 print $n,"\n"; # 'quoted words' # 注意 $n
 

(3) s///g 多次查找替换

 $z = "time hcat to feed the cat hcat";
$z =~ s/cat/AAA/g;#替换多次
print $z,"\n"; #结果为 time hAAA to feed the AAA hAAA
 

(4) s///e 求值

 # reverse all the words in a string
$x = "the cat in the hat";
$x =~ s/(\w+)/reverse $/ge; # $x contains "eht tac ni eht tah" # convert percentage to decimal
$x = "A 39% hit rate";
$x =~ s!(\d+)%!$/!e; # $x contains "A 0.39 hit rate"

(5) s/// 可以用 s!!! , s{}{} , s{}// 进行替换

Perl——正则表达式(四) 查找替换s///的更多相关文章

  1. notepad++使用正则表达式的查找替换

    使用正则表达式可以很好地完成很多繁琐耗时的工作,以下抄录editplus正则表达式的使用,同样适用于notepad++:表达式 说明\t 制表符.\n 新行.. 匹配任意字符.| 匹配表达式左边和右边 ...

  2. vi查找替换命令详解 (转载)

    转载至:   http://blog.csdn.net/lanxinju/article/details/5731843 一.查找 查找命令 /pattern<Enter> :向下查找pa ...

  3. visual Studio 中使用正则表达式来进行查找替换

    1.打开visual Studio 2. 通过菜单Edit -->Find and Replace -->Replace In File  ,或者使用  ctrl + Shift + H  ...

  4. VIM正则表达式查找替换

      0. 一些需要注意的不同 VIM中的正则表达式和其他的有点不一样 (1) 有些符号要用\转义,比如\+表示重复一次或以上,其他的还有一些,:h pattern查看(2) 非贪婪匹配用\{-}, 如 ...

  5. editplus查找替换的正则表达式应用

    表达式        说明\t        制表符.\n        新行..        匹配任意字符.|        匹配表达式左边和右边的字符. 例如, "ab|bc" ...

  6. dreamweaver中用正则表达式查找替换批量删除 tppabs标签的方法

    查找替换 正则表达式  \btppabs="h[^"]*" 后面不能有空格 你懂得的 选中右下角的 √[使用正则表达式] 替换全部

  7. Perl正则表达式例子

    Perl正则表达式 一.介绍 正则表达式各语言都有自己的规范,但是基本都差不多,都是由元字符的组合来进行匹配:由于Nmap内嵌的服务与版本探测是使用的Perl正则规范,因此此篇博客记录一下Perl正则 ...

  8. Perl 正则表达式语法

    1. 概要 Perl正则表达式是Boost.regex 默认行为,也可以将perl传入basic_regex 构造. boost::regex  e1(my_expression); boost::r ...

  9. xcode中使用正则表达式来搜索替换代码

    有这样的需求: 类似于 GLOBAL_STR(@"请继续添加"); 这样的代码,需要批量修改为: GLOBAL_STR(@"请继续添加", nil); 这里使用 ...

随机推荐

  1. OJ刷题---猜算式

    题目要求: 输入代码: #include<iostream> using namespace std; void Calc(); int main() { Calc(); return 0 ...

  2. 2.Brackets安装及常用插件安装

    转自:https://blog.csdn.net/autumn20080101/article/details/53171326 Brackets 是一个免费.开源且跨平台的 HTML/CSS/Jav ...

  3. Mysql主从级联复制

    场景1 如果主节点已经运行了一段时间,且有大量数据时,如何配置并启动slave节点 通过备份恢复数据至从服务器· 复制起始位置为备份时,二进制日志文件及其POS: Mater 设置 1) 修改配置文件 ...

  4. js函数的解析与执行过程

    function f(a,b,c){ alert(a);//函数字符串 alert(b); var b = 5; function a(){ } } f(1,2); //预处理 lexicalEnvi ...

  5. SQL insert 主键冲突

    待总结 https://blog.csdn.net/JavaCoder_juejue/article/details/82313891 https://blog.csdn.net/a772304419 ...

  6. PHP截取字符串长度

    <?php function str_cut($string, $start=0,$length, $dot = '..') {    $strlen = strlen($string);    ...

  7. 执行异步UI更新

    异步更新UI的几种方法①.使用Control.Invoke方式来更新数据                     foreach (DataGridViewRow dgvr in this.dgv_s ...

  8. DataGridView控件绑定数据源

    前言: 近期听说DataGridView控件能直接绑定数据源.而不用穿越这层那层的忍辱负重.获取数据.真是高兴的屁颠屁颠的.后来一想二狗肯定不会弄.特意写了一个笨蛋版的教程--也算记录生活.欢度端午了 ...

  9. 深入理解javascript之原型

    理解原型 原型是一个对象.其它对象能够通过它实现属性继承. 不论什么一个对象都能够成为继承,全部对象在默认的情况下都有一个原型.由于原型本身也是对象,所以每一个原型自身又有一个原型. 不论什么一个对象 ...

  10. H5+混合移动app

    H5+混合移动app 前言 经过2个多月的艰苦奋斗,app的第一个版本已经快完工了,期间遇到了太多的坑,作为一个喜欢分享的人,我当然不会吝啬分享这爬坑历程.不要问我有多坑,我会告诉你很多,很多.... ...