Perl——正则表达式
Perl正则表达式
文章目录
- Perl正则表达式
- 一、正则表达式的应用
- 二、正则表达式之元字符
- 2.1 转义
- 2.2 特殊匹配
- 2.3 匹配次数
- 2.4 各种括号 ( ),[ ],{ }
- 三、正则表达式的匹配模式
- 四、Perl的绑定操作符
一、正则表达式的应用
正则表达式常有两个应用,一个是查找,一个是替换,替换的核心也是查找。
查找的一个格式:
m/……/匹配模式
替换的一个格式:
s/ ……/替换内容/匹配模式
匹配的规则写在两个斜杠之间,定义规则的字符称为元字符。
二、正则表达式之元字符
2.1 转义
\ : 反斜杠加元字符表示转义,比如 +,*,?,表示这些字符本身。
\b : 匹配单词边界
\B : 匹配非单词边界
\d : 匹配数字0—9中任意一个字符
\D: 匹配非数字
\w: 匹配包括下划线的任何单词字符
\W: 匹配包括非下划线的任何单词字符
\s: 匹配空白字符,包括空格,制表符等
\S: 匹配非空白字符
\n: 匹配换行符
\t: 匹配制表符
\x \x后接十六进制数,匹配这个数的ASCII码对应的符号
2.2 特殊匹配
^ :匹配开头
$ :匹配结尾
. :匹配除换行符外所有字符
2.3 匹配次数
* :匹配0次或多次
+ :匹配一次或多次
\?: 匹配0次或1次
2.4 各种括号 ( ),[ ],{ }
( ) :圆括号内取值,把括号里的值存在$1,$2,……$n里
[ ] :表示多选一。如[abc]匹配a或b或c。连续的字符可以简写如[a-z],[0-9]。
[ ^ ] :表示[ ]里列出的其它字符。
{n} :表示匹配n次
{n,m} : 表示匹配n到m次
| :分组,如m/bill | mike/ 表示bill 或 mike
? :当跟在*,+,?后面表示非贪婪模式。详见Perl——正则表达式之贪婪模式和非贪婪模式
perl 中$1 $2代表的含义
以数字为名的变量保存的是上一次匹配操作(/pattern/)中,第n个小括号中的原符号所匹配内容。
$1就是第一对小括号中的原符号所对应的匹配内容。
$2就是第二对小括号中的原符号所对应的匹配内容。
my $str = "<p>hello world !</p>"; #被匹配文本
if ($str =~ /<p>(.*?)<\/p>/gs)#匹配<p>...</p>,<\/p加的\代表后面的符号不进行转义 { print "\$1 mean: $1";#$1 mean: hello world !}
三、正则表达式的匹配模式
g: global匹配,可以匹配多次
i: 不区分大小写
m:换行匹配
e: 替换的值要先计算 s/(ab+c)/&replace($1)/e,表示查换ab+c,并把找到的结果传给replace()函数,用函数的返回值来替换。这种方法可用于复杂的查找替换。
x: 允许换行加注释,忽略空白字符
s:单行处理,这个模式下元字符可以匹配换行符
利用正则表达式的通配符设置不可用单元名称
——set tech_vars(dont_use_list) [list FRICG* DCG* SDFFX* SDFFN* SDFF4W ]
将以上BUFFER和标准单元设置成不可用。
四、Perl的绑定操作符
=~ :表示满足匹配
!~ : 表示不满足匹配
如
if($tc =~ m/^tc_/) {……}
#表示如果$tc变量以tc_开头,则执行{}里的语句。
if($tc !~ m/^tc_/) {……}
#表示如果$tc变量不是以tc_开头,则执行{}里的语句。
Perl——正则表达式相关推荐
- perl正则表达式-1
.代表任何一个单字符,不匹配换行符. *是量词,表示前面内容出现0到多次. +也是量词,表示前面内容出现1到多次. 字符集简写 \d表示一个数字 \w表示一个单词字符()数字,字母,下 ...
- perl 正则表达式 引擎_Perl 5引擎概述
perl 正则表达式 引擎 正如我在" 我的DeLorean运行Perl "中所述,切换到Perl极大地提高了我的开发速度和可能性. 在这里,我将更深入地研究Perl 5的设计,以 ...
- perl正则表达式匹配中文
perl正则表达式匹配中文:/[^u4E00-u9FA5]/ js中正则表达式匹配中文:match(/[\u4E00-\u9FA5]/)
- Perl正则表达式讲解
转载:http://blog.sina.com.cn/s/blog_607254630101cvx3.html 9.3.1 原则1 正则表达式有三种形式:匹配.替换和转换. 在表 9-1 中列有三种正 ...
- Perl 正则表达式
Perl 正则表达式 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替换或者从某个串中取出符合某个条件的子串等. Pe ...
- Perl正则表达式(2) - 用正则表达式进行匹配
Perl正则表达式 2. 用正则表达式进行匹配 2.1 用 m// 进行匹配 到目前为止,我们都是讲正则表达式的内容写在一对斜线内,如/fred/.但其实这是 m// 的简写,其中m代表match,和 ...
- Perl正则表达式(1) - 正则表达式基础知识
Perl正则表达式 1. 基础知识 Perl中正则表达式(regular expression)默认匹配 $_ 中的字符串,匹配成功就返回真,否则返回假: Perl匹配正则表达式时,可以使用变量内插, ...
- 在 UltraEdit 和 UEStudio 中开始使用 Perl 正则表达式
作为 UltraEdit/UEStudio 查找/替换功能中最强大的组件之一,Perl 正则表达式使您能够在一次替换中重新格式化大量非均匀数据,从而为您节省几分钟甚至几小时的手动文本编辑时间! 要搜索 ...
- 浅谈Perl正则表达式
一.简介 Perl正则表达式中模式指在字符串中寻找的特定序列的字符,由反斜线包含:/def/即Perl正则表达式中模式def.其用法如结合函数split将字符串用某Perl正则表达式中模式分成多个单词 ...
最新文章
- opencv和halcon标定参数结果对比
- 在小程序开发路上踩过的小坑
- 如何快速上手 AB Testing ?阿里技术专家秘方公开
- php5 php4,自动实现php4和php5环境的切换......
- 背英语单词很困难,不妨学习一下词根词缀吧(每天10个词根、词缀)Part 1
- python怎样画动态文字_Python制作动态字符图的实例
- (5)Linux进程调度-CFS调度器
- 历法 —— 星期与“日月火水木金土”
- Servlet期末复习二
- (转)暴涨、闪崩、分叉,监管,现在是投资机会?
- Vue安装步骤及教程(详细)
- 使用unity制作游戏——打砖块
- lombok 不生效
- 性格与领导力 ——不可不知的DISC 性格学
- Windows更改远程桌面默认使用的3389端口
- 【中级软考—软件设计师】2操作系统2.3进程调度【****】:2.3.3考点三:前趋图与PV操作
- Centos7关闭锁屏界面
- autodock无map文件_“分子对接技术”之使用AutoDock进行半柔性对接教程
- 英语单词: thunk
- 页面布局--上下固定中间自适应出现滚动条布局
热门文章
- 如何添加URL服务器到站点,当URL来自互联网服务器时,如何将自定义css...
- python批量将CAD中的每个图分别转化为对应的PDF(cad转pdf)
- (表白神器)绘制心形曲线
- LintCode领扣算法问题答案:149. 买卖股票的最佳时机
- 输出华氏--摄氏温度转换表
- 新硬盘挂载目录后文件消失解决办法
- 融云IM报错connect should be called in main process
- echarts 图表的滚动条
- 使用Suricata和ELK进行网络入侵检测
- java利用core 工具实现二维码的生成与解析