perl学习笔记(8)
^一行的开头 $一行的结尾 例如/^$/匹配空行。
用\转义特殊字符。
//i,后面跟个i不区分大小写。
//g,后面跟个g匹配全部。没有g只匹配一次。
s///,前面跟个s做替换。
grep对列表中的元素逐一进行模式匹配操作。
练习(f81.pl):
- #!/usr/bin/perl -w
- $pat=<STDIN>;
- chomp $pat;
- $a="The phrase that pays";
- if ($a=~/$pat/i){
- print "\$_ contains the pattern $pat \n";
- }
- $a=~s/phrase/$pat/;
- print qq($a\n);
- @a_m=grep /A/i,("1 aaa","2 hello world!","3 abc","4 a b c");
- print qq(@a_m\n);
- @bb=("1a","bb a","aaa board");
- @a_m=grep s/A/X/ig,@bb;
- print qq(\@a_m=@a_m\n);
- print qq(\@bb=@bb\n);
$ perl f81.pl
www
The www that pays
1 aaa 3 abc 4 a b c
@a_m=1X bb X XXX boXrd
@bb=1X bb X XXX boXrd
正则表达式不好记忆,理解起来也挺费脑子,这就决定了贡献正则表达式代码只能是少数人。在具体实践中,去搜索别人已经写好的正则表达式,拿过来测一测,改一改自己用是比较好的方式。自己有好的正则表达式代码也不妨贡献出来。如果是自己写正则表达式,建议简单用用就好。另外就是如果正则表达式比较复杂,最好有注释,别让后面维护代码的人骂你。
这个页面上介绍了几个不错的正则表达式工具(我个人比较欣赏RegexBuddy):
http://apps.hi.baidu.com/share/detail/20369196
下面这本书是公认的好书:
精通正则表达式(第3版)中文版.(美)Jeffrey.E.F.Friedl
英文书名叫:Mastering Regular Expressions
关于正则表达式,就学习到这里吧。
转载于:https://blog.51cto.com/idata/806868
perl学习笔记(8)相关推荐
- perl学习笔记(9)
我的环境是RHEL5.4,操作系统自带的perl版本是5.8.8.这次打算学习一下如何升级perl到最新版本(升级到其他版本应该是类似的). 到这个页面下载最新版本: http://www.perl. ...
- perl学习笔记(1)
最近想通过51cto和大家分享围绕数据处理分析这一领域的技术经验,正好3月份要完成一项工作任务,主要内容就是修改有关作业调度的perl程序.我用过的语言很多,但是没用过perl,就从这里开始吧. 查看 ...
- perl 中单引号双引号的区别-----perl学习笔记
在perl中给字符串加引号有两种: 1) 单引号: e.g. print 'I MISS YOU " SO MUCH" '; 它将单引号中的内容包括双引号完整输出,同时即使引号中包 ...
- Learning Perl学习笔记(1)第二章Scalar Data
If Control Structure(IF循环) 脚本如下: #!/usr/bin/perl use warnings; use strict; use v5.24; my $line = < ...
- Perl学习笔记(十)--通过DBI访问数据库
Perl访问数据库最常用的包是DBI,可以在www.cpan.org找到.使用ppm命令即可图形化安装.另外还需要安装对应数据库的驱动包,例如DBD::MySQL.DBD::Oracle.DBD::S ...
- Perl学习笔记(2)
在本章中将要学习:(1)如何获得目录列表 (2)如何创建和删除文件 (3)如何创建和删除目录 (4)如何获取关于文件的信息. 一.获得目录列表 目录句柄与文件句柄的不同之处是:文件是通过读取文件句柄获 ...
- perl学习笔记——目录操作
在目录书中移动 chdir 操作副改变当前的工作目录.它和shell中cd命令类似: chdir '/etc' or die "cannot chdir to /etc:$1"; ...
- Perl学习笔记(六)--文件(一)
一.文件描述符: 访问文件时用来代表文件的数字. 它是系统资源,系统限制打开的文件描述符数量. Perl中只在某些系统调用时才使用它 文件句柄: 功能同文件描述符,但是与文件描述符不是一个东西. Pe ...
- 从零学习perl语言--perl学习笔记(2)--初识变量,if,while等函数的使用
标量是什么? 标量是:数字(如256.2.15e20)和字符串(各种字符任意组合.如!"@#¥%").----标量是perl里面最简单的数据类型. 什么是浮点数? 带有小数点的数字 ...
最新文章
- windows下部署redis
- 从语言模型到Seq2Seq:Transformer如戏,全靠Mask
- QT的QHttpMultiPart类的使用
- View 绘制流程分析
- ebs r12多少钱 实施oracle_甘肃室外儿童游乐设施报价,室外儿童游乐设施多少钱
- 5G的场景、需求、通信速率
- 计算机excel知识点一级,2012年计算机一级考试高分必看知识点:EXCEL
- java sqlite 工具类_Java 工具类 - JDBC通用操作基类 BaseDao
- php计算两个日期之间的小时数,PHP_php 计算两个时间戳相隔的时间的函数(小时),这个是可以具体到小时的php代 - phpStudy...
- selenium中js定位_Selenium中的定位剂
- java 获取bean 属性_获取javaBean的属性名属性值属性类型
- MySQL备份与恢复详解(热备、冷备等相关术语解释)
- IDL编程实现拟合树的圆心代码
- springboot实现短信验证码登录注册
- 对于div背景颜色的透明
- mybatis_mysql使用 学习笔记
- 拼多多2020校招部分编程题
- 如何理解return paddle.reader.xmap_readers(train_mapper,reader,cpu_count(),102400)?
- PyTorch模型保存与加载
- MDC300平台介绍
热门文章
- sql 存储过程 盲注入_一次非常规 SQL 注入(informixsql)的利用过程
- 计算机语言2进制怎么计算,计算机语言二进制…八进制、十进制…怎样推算?数制是怎么读?...
- oracle 关闭数据库实列,Oracle 11g 数据库启动和关闭
- python3获取网页内容_python3获取一个网页特定内容
- 基本数据类型的成员变量放在jvm的哪块内存区域里?
- B端可视化: 图表设计(2)
- 为什么很多企业都喜欢鹅厂出来的产品经理?
- 2020中国移动阅读行业报告
- 用友元函数重载乘法,用成员函数重载除法
- php调用.net webservice,PHP调用.NET的WebService 简单实例