1.PCRE全称为Perl Compatible Regular Expression,意思是Perl兼容正则表达式。

PCRE中,通常将模式表达式(即正则表达式)包含在两个反斜线“/”之间,如“/apple/”。

正则中重要的几个概念有:元字符、转义、模式单元(重复)、反义、引用和断言。

常用的元字符(Meta-character):

元字符     说明

\A       匹配字符串串首的原子

\Z       匹配字符串串尾的原子

\b       匹配单词的边界     /\bis/  匹配头为is的字符串   /is\b/   匹配尾为is的字符串   /\bis\b/ 定界

\B       匹配除单词边界之外的任意字符   /\Bis/  匹配单词“This”中的“is”

\d       匹配一个数字;等价于[0-9]

\D       匹配除数字以外任何一个字符;等价于[^0-9]

\w       匹配一个英文字母、数字或下划线;等价于[0-9a-zA-Z_]

\W       匹配除英文字母、数字和下划线以外任何一个字符;等价于[^0-9a-zA-Z_]

\s      匹配一个空白字符;等价于[\f\t\v]

\S      匹配除空白字符以外任何一个字符;等价于[^\f\t\v]

\f      匹配一个换页符等价于 \x0c或 \cL

匹配一个换行符;等价于 \x0a 或 \cJ

匹配一个回车符等价于\x0d 或 \cM

\t     匹配一个制表符;等价于 \x09\或\cl

\v     匹配一个垂直制表符;等价于\x0b或\ck

\oNN   匹配一个八进制数字

\xNN   匹配一个十六进制数字

\cC    匹配一个控制字符

模式修正符(Pattern Modifiers):

模式修正符在忽略大小写、匹配多行中使用特别多,掌握了这一个修正符,往往能解决我们遇到的很多问题。

i     -可同时匹配大小写字母

M     -将字符串视为多行

S     -将字符串视为单行,换行符做普通字符看待,使“.”匹配任何字符

X     -模式中的空白忽略不计

U     -匹配到最近的字符串

e     -将替换的字符串作为表达使用

格式:/apple/i匹配“apple”或“Apple”等,忽略大小写。     /i

PCRE的模式单元:

//1 提取第一位的属性

/^\d{2} ([\W])\d{2}\\1\d{4}$匹配“12-31-2006”、“09/27/1996”、“86 01 4321”等字符串。但上述正则表达式不匹配“12/34-5678”的格式。这是因为模式“[\W]”的结果“/”已经被存储。下个位置“\1”引用时,其匹配模式也是字符“/”。

当不需要存储匹配结果时使用非存储模式单元“(?:)”

例如/(?:a|b|c)(D|E|F)\\1g/ 将匹配“aEEg”。在一些正则表达式中,使用非存储模式单元是必要的。否则,需要改变其后引用的顺序。上例还可以写成/(a|b|c) (C|E|F)\2g/。

基础知识--pcre相关推荐

  1. php百分比乘加,PHP学习笔记第一篇 基础知识

    基础知识 我将php语言学习里面最最基础的部分,需要第一个学的,必须牢牢掌握的,归类到一起. 大纲 1.数据类型 2.变量 3.常量 4.操作符 5.流程控制 6.数组 7.字符串操作 8.正则 基础 ...

  2. Nginx学习(一)——Nginx基础知识

    目录 1.Nginx学习(一)--Nginx基础知识 2.Nginx学习(二)--配置文件.反向代理与负载均衡 3.Nginx搭建HTTPS服务器 一.初试Nginx 一.下载安装 1.安装必要的一些 ...

  3. 嵌入式Linux的OTA更新,基础知识和实现

    嵌入式Linux的OTA更新,基础知识和实现 OTA updates for Embedded Linux, Fundamentals and implementation 更新的需要 一旦嵌入式Li ...

  4. 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记

    计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...

  5. 嵌入式linux编程,嵌入式Linux学习笔记 - 嵌入式Linux基础知识和开发环境的构建_Linux编程_Linux公社-Linux系统门户网站...

    注:所有内容基于友善之臂Mini2440开发板 一.嵌入式Linux开发环境的构建 嵌入式开发一般分为三个步骤: 1.编译bootloader,烧到开发板 2.编译嵌入式Linux内核,烧到开发板 3 ...

  6. 《计算机网络应用基础》模拟试卷(六),《计算机与网络应用基础知识1》模拟试卷...

    <计算机与网络应用基础知识1>模拟试卷 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 <计算机与网络应用基础知识1& ...

  7. python向量计算库教程_NumPy库入门教程:基础知识总结

    原标题:NumPy库入门教程:基础知识总结 视学算法 | 作者 知乎专栏 | 来源 numpy可以说是 Python运用于人工智能和科学计算的一个重要基础,近段时间恰好学习了numpy,pandas, ...

  8. python常用变量名_python基础知识整理

    Python Python开发 Python语言 python基础知识整理 序言:本文简单介绍python基础知识的一些重要知识点,用于总结复习,每个知识点的具体用法会在后面的博客中一一补充程序: 一 ...

  9. 计算机基础知识掌握欠缺,《计算机基础知识》实验教学改革探讨.pdf

    <计算机基础知识>实验教学改革探讨.pdf Science& TechnologyVision 科 技 视 界 科技 探·索·争鸣 计<算机基础知识>实验教学改革探讨 ...

  10. python计算wav的语谱图_Python实现电脑录音(含音频基础知识讲解)

    前言 今天开始进入近期系列文章的第一篇,如何用 Python 来实现录音功能. 在开始"造轮子"之前,个人一直强调一个观点,如果有些东西已经有了,不妨直接去 github 上搜,用 ...

最新文章

  1. c语言错误的等式,C语言学习中几个常见典型错误分析.docx
  2. NIO:与 Buffer 一起使用 Channel
  3. Windows中的命令行提示符里的Start命令执行路径包含空格时的问题
  4. Jenkins中安装Credentials Binding插件实现凭证管理与安装Git插件和拉取代码构建项目
  5. Java加密与解密的艺术~思维导图
  6. PDA手持终端WinCE系统连接SqlServer数据库
  7. 【PyTorch 】静态图与动态图机制
  8. 计算机组成部分有cpu吗,计算机组成原理笔记——处理器(1)[未完]
  9. CSS 如何让li横向居中显示
  10. csv处理数据后存入数据库
  11. 原来歌这样唱也很好听
  12. windows远程桌面无法粘贴复制的问题解决方法
  13. HDU 5857 Median
  14. 前端原生开发解决方案
  15. git提交错分支怎么办
  16. win7 64位安装 ie10/11失败
  17. R语言:基本变量及其之间关系探索分析
  18. java计算工作日_java计算工作时间除去节假日以及双休日
  19. 一个WEB应用的开发流程
  20. 数据仓库1-数仓的意义

热门文章

  1. java最好用的浏览器_国内好的pc浏览器评测
  2. 软件测试文档模板 ppt,软件测试技术.ppt.pdf
  3. amr java 播放_Java ME中.amr文件的语音或音频播放器
  4. 脑袋里是浆糊时的c++程序
  5. 六爪机器人_六爪机器人
  6. Vue2.0+Vue3.0全套教程
  7. java项目调用dll类库报错“出现%1 不是有效的 Win32 应用程序”
  8. 这可能是史上最全的常用学术网站
  9. 5.Django路由path和re_path详解
  10. 使用Photon PUN创建简单对战游戏