perl /m 当作多行处理
高级用法 多行匹配: zjtest7-frontend:/root/0825# cat a2.pl
print "1111111111111\n";
my $_="abc\nABC\nabc";
print $_;
print "\n"; print "2222222222222\n";
my $_="abc\nABC\nabc";
s/c$/ZZZ/g;
print $_;
print "\n"; print "333333333333333\n";
my $_="abc\nABC\nabc";
s/c$/ZZZ/gm;
print $_;
print "\n";
zjtest7-frontend:/root/0825# perl a2.pl
1111111111111
abc
ABC
abc
2222222222222
abc
ABC
abZZZ 333333333333333
abZZZ
ABC
abZZZ 實際上 /m 的作用就是讓 ^ 和 $ 匹配內嵌的換行符( \n ) /m当作多行处理 m 改变字符串^ $ 的匹配起始 终止位置,默认是按每行 /m 修饰符 允许^和$来立即匹配在一个嵌入的换行符前后,分别的, /^=head[1-7]/m 会匹配模式不只是记录的开始,而是任何适当的在一个新行后面 zjtest7-frontend:/root/0825# cat a4.pl
my $_="aa
head4
bb";
if ($_=~/aa\nhead[1-7]\nbb/){print "1111111111\n"};
if ($_=~/aa\n^head[1-7]\nbb/){print "2222222222\n"};
if ($_=~/aa\n^head[1-7]\nbb/m){print "3333333333\n"};
zjtest7-frontend:/root/0825# perl a4.pl
1111111111
3333333333 zjtest7-frontend:/root/0825# cat a4.pl
my $_="aa
xxhead4
xbb";
if ($_=~/aa\nhead[1-7]\nbb/){print "1111111111\n"};
if ($_=~/aa\nhead[1-7]\nbb/){print "2222222222\n"};
if ($_=~/aa\n.*head[1-7]\n.bb/m){print "3333333333\n"};
zjtest7-frontend:/root/0825# perl a4.pl
3333333333
perl /m 当作多行处理的更多相关文章
- awk,perl,python的命令行参数处理
Python,Perl,Bash命令行参数 Part I 日常经常性的和Perl,Python,Bash打交道,但是又经常性的搞混他们之间,在命令行上的特殊性和index的区别,Python真的是人性 ...
- 使用Perl批量读取文件最后行
使用Perl批量读取文件最后行 面对成百上千个文件,有时我们需要查看它的最后行,单个文件打开将耗费大量时间,而通过Perl提取出最后行,将快速的帮助我们处理繁琐的事务. 特性 整个目录完全遍历,自动提 ...
- (转载)CSV 文件处理 PERL
http://cn.perlmaven.com/how-to-read-a-csv-file-using-perl http://search.cpan.org/~hmbrand/Text-CSV_X ...
- Windows命令行command的Shell命令详细解析和语法
CMD命令大全及详细解释和语法 Microsoft Windows XP [版本 5.1.2600] 有关某个命令的详细信息,请键入 HELP 命令名 ASSOC 显示或修改文件扩展名关联. A ...
- Perl读取标准输入<STDIN>、读取文件输入<>和chomp函数
读取标准输入<STDIN> <STDIN>表示从标准输入中读取内容,如果没有,则等待输入.<STDIN>读取到的结果中,如果没有意外,都会自带换行符. 例如,tes ...
- perl学习笔记——输入与输出
读取标准输入 用<STDIN>进行标准输入:chomp($line=<STDIN>); 如果读到文件尾,行输入操作符就会返回undef.便可利用这一性质跳出循环. while( ...
- 28个Unix/Linux的命令行神器_转
28个Unix/Linux的命令行神器 下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具,有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具 ...
- 28个Unix/Linux的命令行神器
下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具(原文链接),有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具都非常不错,希望每个人都知道 ...
- 28 个 Unix/Linux 的命令行神器
28 个 Unix/Linux 的命令行神器 下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具(原文链接),有一些是大家熟悉的,有一些是非常有用的,有一些 ...
随机推荐
- 将vim作为QT开发的IDE
转载请注明链接与作者huihui1988 用了一段时间的vim,喜欢上了这种简洁高效的编辑器.恰逢正在学习QT中,于是将vim变成了开发QT的工具.以下是具体配置. 一.语法高亮支持: 1.打开VIM ...
- C# 动态Linq(结合反射)
这篇文章决定对最近一个单机版Web程序用到的东西总结一下. 一.反射Linq之OrderBy 动态Linq结合反射对某字段排序: namespace 动态Linq { class Program ...
- Cocos2d-x 2.1.5 简单动画
Cocos2d新版本函数更改了一些. 下面的代码可以产生一个简单动画. //第一步:生成动画需要的数据 CCTexture2D *texture=CCTextureCache::sharedTextu ...
- archlinux相关资料整理
Arch linux Arch Linux Wiki Arch linux Wiki Markdown Arch Wiki python continuing ...
- 经典递归算法研究:hanoi塔的理解与实现
关于hanoi塔的原理以及概念,请Google,访问不了去百度. 主要设计到C中程序设计中递归的实现: 主代码实现如下: void hanoi(int src, int dest, int tmp, ...
- Webix快速跨浏览器的JavaScript UI组件
网址:http://webix.com/ 寥寥几行代码就将页面渲染出来了,确实值得一试!
- UESTC_秋实大哥の恋爱物语 2015 UESTC Training for Search Algorithm & String<Problem K>
K - 秋实大哥の恋爱物语 Time Limit: 5000/2000MS (Java/Others) Memory Limit: 32000/32000KB (Java/Others) Su ...
- C# Lazy<T>(转)
本文来自:http://www.cnblogs.com/zhangpengshou/archive/2012/12/10/2811765.html .NET Framework 4 在一次次跳票中终于 ...
- 工作记录8:iOS 传值问题总结(7种传值完美介绍)
1.属性传值 前向后传值. 记住: /* 1: 属性传值第一步需要用到什么类型就定义什么样的属性 2: 从上一个页面到一个页面的选中方法里面将要传的值传到来(上一个页面)备注:这种方法只适用于上一个页 ...
- 用maven骨架生成项目速度慢的问题
最近从IntelliJ Idea 14的Community版本切换到Ultimate. 问题出现 最近从IntelliJ Idea 14的Community版本切换到Ultimate,key是从网络上 ...