perl 正则表达式之漫游
废话不多说了,直奔主题~
一、简单模式进行匹配
将模式写在一对//中即可,匹配对象是$_
元字符:圆括号() 进行模式分组
点号 . 能匹配任意一个字符,除换行符(\n)以外
反斜线 \ 在模式中使用反斜线时,请用两个反斜线表示
$_ = 'a real \ backslash';
if(/\\/){
print "yes \n";
}
量词:* 匹配前面的条目零次或多次
+ 匹配前面的条目1次或多次
? 前面的条目可有可无
模式分组:圆括号() 对字符串进行分组
反向引用 在反斜线的后面接上编号,如\1,\2,数字表示对应的 捕获组
捕获组 用反向引用来引用圆括号中的模式所匹配的文字
择一匹配:竖线|
字符集: 一组可能出现的字符,写在方括号内([]),只能匹配单个字符,可以是字符集内的任意一个
[]字符集以内
[^]字符集以外
\d 数字[0-9]
\s 任意空白符[\f\t\h\r]
\v 垂直空白符
\h 水平空白符
\R 断行
\w 单词[a-zA-Z0-9_]
反义简写:大写版本能匹配相应小写版本以外的字符
[\d\D]匹配任意字符,包括换行
[^\d\D]什么都不匹配
use 5.0114;
$_ = 'The HAL-9000 requires';
if(/\d/){
say 'yes';
} if(/[\d]/){
say 'yes';
}
perl 正则表达式之漫游的更多相关文章
- Perl正则表达式例子
Perl正则表达式 一.介绍 正则表达式各语言都有自己的规范,但是基本都差不多,都是由元字符的组合来进行匹配:由于Nmap内嵌的服务与版本探测是使用的Perl正则规范,因此此篇博客记录一下Perl正则 ...
- Perl正则表达式
perl正则表达式就是通过一串特别设计的字符串,可以按照我们的需求匹配.替换.转化目标字符串.本文主要是对一些常用的正则表达以及语法的总结以及举例,供广大喜爱Perl的同学交流学习. 操作符: =~ ...
- Perl 正则表达式语法
1. 概要 Perl正则表达式是Boost.regex 默认行为,也可以将perl传入basic_regex 构造. boost::regex e1(my_expression); boost::r ...
- Perl 正则表达式
匹配:m/<regexp>;/ (还可以简写为 /<regexp>;/ ,略去 m)替换:s/<pattern>;/<replacement>;/转化: ...
- perl正则表达式第一周笔记
正则表达式基础 ^ 行首标志 $ 行末标志 如^cat即一整行只有cat这个单词,^则是一个空行 [ ] 字符组,用来匹配若干字符之一 如gr[ae]y,即grey或者gray - 在字符组内部,字 ...
- perl正则表达式第三周笔记
正则引擎的分类 正则引擎的分类 正则引擎的分类主要分两种: DFA:egrep.awk.lex.flex NFA:.NET.PHP.Perl.Ruby.Python.GNU Emacs.ed.sec. ...
- perl正则表达式第二周笔记
1.使用正则表达式修改文本 1.使用正则表达式修改文本 正则表达式的功能不只有查询,还可以对文本进行修改,例如替换 $var=~m/regex/i $var=~s/regex/replacement/ ...
- perl 正则表达式之匹配
一.用m//进行匹配 上篇用双斜线的写法表示模式,事实上是m//的简写,所谓简写,就是当用双斜线作为定界符的时候,可有省略开头的m. 不使用简写的时候,可以使用任何定界符表示模式,m().m<& ...
- posix,perl正则表达式区别
1.正则表达式(Regular Expression,缩写为regexp,regex或regxp),又称正规表达式.正规表示式或常规表达式或正规化表示法或正规表示法,是指一个用来描述或者匹配一系列符合 ...
随机推荐
- docker mac 安装并初始化GO环境
mac 环境下,安装docker 下载链接:https://download.docker.com/mac/stable/Docker.dmg 下载完毕后,直接双击安装,下一步直到最后 创建docke ...
- YII 1.0 设置关联模型
在model中设置如下 /* * 设置关联 */ public function relations(){ return array( 'cate'=>array(self::BELONGS_T ...
- Spring mvc系列一之 Spring mvc简单配置
Spring mvc系列一之 Spring mvc简单配置-引用 Spring MVC做为SpringFrameWork的后续产品,Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块 ...
- delphi假死线程堵塞解决办法
Delphi的高效不多说... 俗话说:真正的程序员用C语言,聪明的程序员用Delphi,一点都不假,和C++比它比C++更简单,更容易上手,功能丝毫不逊色C++,比起VB,毫无疑问比VB好多了,重要 ...
- js原生之函数
1.函数作为参数传给其他函数: data.sort(function(a,b){return a-b}) //关于数组的sort函数,其回调函数返回负值,a在b之前 //正值,b在a ...
- Canvas createRadialGradient API
Canvas createRadialGradient API <!DOCTYPE html> <html lang="en"> <head> ...
- SSM框架整合(注解)-Spring+SpringMVC+MyBatis+MySql
准备工作: 下载整合所需的jar包 点击此处下载 使用MyBatis Generator生成dao接口.映射文件和实体类 如何生成 搭建过程: 先来看一下项目的 目录结构 1.配置dispatcher ...
- HDU1494(dp)
跑跑卡丁车 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- BZOJ-2150部落战争(最小路径覆盖)
2150: 部落战争 Time Limit: 10 Sec Memory Limit: 259 MB Description lanzerb的部落在A国的上部,他们不满天寒地冻的环境,于是准备向A国 ...
- js原生轮播图
轮播图是新手学前端的必经之路! 直接上代码! <!DOCTYPE html><html lang="en"><head> <meta ch ...