正则表达式是一种特殊的语言写成的程序,内嵌于Perl之中。Perl被设计为90%用来做文本处理,而正则表达式就在文本处理中发挥着重要的作用。其实,正则表达式不仅仅是Perl的一部分,传统的shell命令,如sed/awk/grep,和常用的文本编辑器,如vi,都有它的踪影。当然,不同的正则表达式实现中,语法会有稍许的不同。接下来,我将介绍Perl中关于正则表达式的一些基础知识。

元字符

点(. ):通配符,可以匹配任何单个字符,但不包括换行符(“/n”);/.,前加反斜线可以使其变为普通的字符。

反斜线(/):一般用来做转义,如果想要真正的反斜线,需要重复使用两个反斜线(//)。

括号(()):用来表示分组。

简单的量词

星号(*):表示匹配前一项0次或者多次。(.*)被称为任意字符串匹配模式(注意不包括换行符)。

加号(+):表示可以匹配前一项1次或者多次。

问号(?):表示可以匹配前一项0次或者1次。

选择符

竖线(|):通常被读作“或(or)”,意思是匹配左边的或者右边的。

字符类

方括号[]中的一列字符,可以匹配上括号内出现的任意单个字符。它只匹配一个字符,但这个字符可以是列表中的任意一个。

字符类前使用符号^将取此字符类的补集。

/d:任何数字的类,相当于[0-9]。

/w:被称作‘word’字符,相当于[A-Za-z_0-9]。

/s:空白字符类,相当于[/f/t/n/r]。

相应的补集:

^/d:又可以写作/D。

^/w:又可以写作/W。

^/s:又可以写作/S。

修饰符

通常叫做标记(flag),可以后缀在正则表达式后面来改变其默认的行为。

/i:不区分大小写,创建大小写无关的模式。

/s:匹配任何字符,将模式中点(.)的行为变成同字符类[/d/D]类似,可以匹配任何字符,包括换行符。

/x:添加空白,允许在模式两端加入任何数量的空白,方便阅读。在匹配时,这些空白将被忽略。注意,Perl中注释可以被作为空白。

Perl之正则表达式基础(一)相关推荐

  1. Perl正则表达式(1) - 正则表达式基础知识

    Perl正则表达式 1. 基础知识 Perl中正则表达式(regular expression)默认匹配 $_ 中的字符串,匹配成功就返回真,否则返回假: Perl匹配正则表达式时,可以使用变量内插, ...

  2. 前端学PHP之正则表达式基础语法

    前面的话 正则表达式是用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分割.匹配.查找及替换操作.在PHP中,正则表达式一般是由正规字符和一些特殊字符(类似于通配符)联合构成的一个文本 ...

  3. 蓝桥云课linux入门13:正则表达式基础

    目录 1.内容 2.正则表达式 2.1举例 2.2基本语法 3.grep模式匹配命令 3.1基本操作 3.2使用正则表达式 4 sed 流编辑器 4.1 sed常用参数介绍 4.2 sed 编辑器的执 ...

  4. 万物之始正则表达式全解析三部曲(上篇)-正则表达式基础知识及语法

    前言 各位小伙伴大家好,接下来几天时间,我会从多个角度对正则表达式进行系统阐述,让你了解正则表达式的前世今生. 以下是博主整理的Linux知识专栏,喜欢的小伙伴可根据自己的需求自行订阅. Linux疑 ...

  5. php 正则 菜鸟,PHP正则表达式基础入门

    思维导图 介绍 正则表达式,大家在开发中应该是经常用到,现在很多开发语言都有正则表达式的应用,比如JavaScript.Java..Net.PHP 等,我今天就把我对正则表达式的理解跟大家唠唠,不当之 ...

  6. JavaScript正则表达式-基础入门

    JavaScript正则表达式-基础入门 字符类,如 /w/ 为匹配任何ASCII字符组成的字符 重复, 如 /w{1,3}/ 为匹配一到三个单词 选择.分组和引用 指定匹配位置 修饰符 直接量字符 ...

  7. python正则匹配找到所有的浮点数_Python随笔17:Python正则表达式基础(4):贪婪匹配和最小匹配...

    Python正则表达式 贪婪匹配/最小匹配 Re库默认采用贪婪匹配,即匹配最长的子字符串.在量词后面加一个"?",即可由贪婪匹配化为最小匹配. '*'用于将前面的模式匹配0次或多次 ...

  8. 1023day5:class类属性方法、每次执行类属性+1、内建模块、时间装饰器wrapper、面向对象__slots__方法:限制类的属性等基础知识、正则表达式基础知识、多态鸭子类型

    文章目录 一.类class 1.Python类class 属性 方法 2.类的构造方法__init__() 3.每次执行一次类的属性+1 二.模块 1.内建模块 2.第三方模块 3.定义自己的模块 三 ...

  9. Perl Regular Expression Syntax Perl的正则表达式语法

    Perl Regular Expression Syntax Perl的正则表达式语法  Synopsis 摘要  The Perl regular expression syntax is base ...

最新文章

  1. html弹出div提示自动关闭,html弹出div弹窗
  2. ubuntu搭建zookeeper集群
  3. (ZT)VC++的链接错误LNK2001
  4. gym 101657 D
  5. 实用防火墙(Iptables)脚本分析
  6. C++_智能指针shared_ptr、unique_ptr、weak_ptr、auto_ptr总结
  7. 编程:OJ中使用C编程最基础的操作
  8. mac sublime text 3 列操作,替换相同内容, 用动态输入的方式
  9. Fl Studio20切换中文教程汉化补丁包
  10. python实现B站自动发弹幕_python代码
  11. 【Transformers】第 8 章 :使Transformers高效生产
  12. MTF SFR 简介
  13. 程序员之间的战争 战场是用户电脑
  14. opencv + contrib windows下源码编译
  15. sqlyog安装和破解
  16. 结构体运算符与取余_c语言取余(c语言去整和取余)
  17. Java 多线程快速入门(面试概念解答一)
  18. 完整版—Android studio入门教程
  19. linux 链接数据库mysql数据库文件_linux 命令行 链接mysql数据库
  20. QT开发学习-第一章-QT简介

热门文章

  1. 《白帽子讲Web安全》世界观安全
  2. 如何给pdf添加水印?
  3. 多边形的扫描转换算法——扫描线算法(计算机图形学)
  4. 2020电赛省赛实战(二)ADS1292心电检测仪
  5. 用免費的電腦資源協助數學的教學,學習與探索_復華中學教師營_中山大學應數系高中數學人才班_2021
  6. 正则匹配空字符串 /(^\s)/
  7. JS在数组对象中添加新字段
  8. linux中route命令的用法
  9. Linux从入门到放弃 docker
  10. 详解用Java实现爬虫:HttpClient和Jsoup的介绍及使用(请求方式、请求参数、连接池、解析获取元素)