转自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. 洛谷—— P1086 花生采摘

    https://www.luogu.org/problem/show?pid=1086#sub 题目描述 鲁宾逊先生有一只宠物猴,名叫多多.这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着 ...

  2. hdu(2859)——Phalanx(dp)

    题意: 如今有一个n*n的矩阵,然后每一个格子中都有一个字母(大写或小写组成).然后询问你如今最大的对称子矩阵的边长是多少.注意这里的对角线是从左下角到右上角上去的. 思路: 这道题我自己写出了dp的 ...

  3. crm操作发票实体

    using System;     using Microsoft.Xrm.Sdk;     using Microsoft.Xrm.Sdk.Query;     using Microsoft.Cr ...

  4. linux命令行学习-dig(DNS查询器)

    在web开发中.总要熟悉的就是http协议.而发起一个http開始前最先要经历的一个过程就是DNS解析.简单说就是域名怎样终于解析到实际serverip的过程. 而在研究DNS解析和排除DNS解析类故 ...

  5. KETTLE使用javascript步骤过滤特殊字符

    KETTLE使用javascript步骤过滤特殊字符 使用kettle在抽取大量excel数据时.总是遇到excel中有一些特殊字符,导致ExecuteSQL script步骤运行失败,本文记录一些方 ...

  6. jquery14 on() trigger() : 事件操作的相关方法

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  7. python-安装xlrd xlwt 插件

    最近需要对比两个表格的内容,然后修改其中的某列内容.因为工作量太大,所以想通过python来实现.上网查了相关的操作,其中牵扯到两个功能模块,xlrd xlwt.这两个功能模块分别是对excel进行读 ...

  8. Android 学习笔记进阶14之像素操作

    在我们玩的游戏中我们会经常见到一些图像的特效,比如半透明等效果.要实现这种半透明效果其实并不难,需要我们懂得图像像素的操作. 不要怕,其实在Android中Bitmap为我们提供了操作像素的基本方法. ...

  9. Dubbo简易学习

    0.  Dubbo简易介绍 DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000, ...

  10. 使用dockerfile构建镜像(docker build)

    Docker buidl .  找出当前文件夹下的Docker build文件名的文件 Docker build -t  centos(镜像名) . 在当前目录下找centos的镜像文件 Docker ...