PHP -- Perl风格正则表达式
2、在于Perl兼容的正则表达式函数中使用模式时一定要给模式加上定界符,即将模式包含再两个反斜线 / 之间 。
一、定界符
再使用Perl兼容的正则表达式时,要将模式表达式放进定界符之间。作为定界符不仅仅局限使用"/",除了数字、字符、和反斜线\意外的任何字符都可以作为定界符号。不过通常都习惯讲模式表达式包含在两个斜线/之间。
二、原子
原子是正则表达式的最几本组成单位,再每个模式中最少要包含一个原子。
1、普通字符作为原子
a~z 、A~Z 、0 ~ 9等
2、一些特殊字符和元字符作为原子
任何一个符号都可以当做原子使用,但是如果这个符号再正则表达式中表示一些特殊涵义。则必须使用转义字符取消特殊涵义,将其变成普通原子。
3、一些非打印字符作为原子
所谓的非打印字符,就是一些在字符串中的格式控制符号。例如空格、回车、以及制表符。

4、使用“通用字符类型"作为原子
不管是打印字符还是非打印字符作为原子都是一个原子只能匹配一个字符。而有事我们需要一个原子可以匹配一类字符。如匹配数字、匹配字母。
5、自定义原子表([])作为原子
使用自定义出特定的“类原子”,使用原子可以定义意足彼此平级的原子。
如“/[jhp]sp/” 可以匹配jsp 、hsp 、psp三种
三、元字符
利用Perl正则表达式还可以使用各种元字符来搜索匹配。所谓元字符,就是用于构建正则表达式的具有特殊涵义的字符。如 . * ? + 等。在一个正则表达中,元字符不能单独出现,它是用来修饰原子的。如同我们中文的形容词一样,必须有形容的主体才醒。例如:我很帅。帅是形容词,形容的是我。元字符可以做这方面的理解和想象。
构建正则表达式的方法和写文章的方法一样,就是使用多种形容词将某个人物或者事情清晰直观的表达出来。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者是所有这些组件的任意组合。下面将这些字符分为几个小类,分别阐述。

1、限定符。限定次数。
2、边界限制

PHP -- Perl风格正则表达式的更多相关文章
- perl的正则表达式
“小骆驼”的“正则表达式“部分学习总结: 一.匹配语法: 1.".":任意单字符(‘\n‘除外): 2.“*“:匹配前项0-n次: 3.“+“:匹配前项1-n次: 4.“?”:匹配 ...
- smix到底是个啥?Perl的正则表达式匹配模式
最近在研究一个perl项目,临时学习了一下perl语法,强行看项目源码.因为总是见到各种正则表达式后面接smxi之类,虽然知道是匹配模式,但脑子里毫无概念.所以特地去学习了一下. 以上为背景. Per ...
- Perl入门(四)Perl的正则表达式
正则表达式是Perl语言的特色,基本的语法不是很难,但是编写一个符合需求.高效的正则表达式,还是有一些挑战的. Perl的三种匹配模式 1.查找 语法:m/正则表达式内容/; 作用:查找匹配内容中是否 ...
- perl 之 正则表达式 (简)
正则表达式,简单介绍: 元字符 匹配项 字符类:单字符与数字 . 匹配除换行符之外的任意字符 [a-z0-9] 匹配集中任意单字符 [^a-z0-9] 匹配不在集合中的任意单字符 \d 匹配单个数 ...
- 传统IO与NIO的比较
本文并非Java.io或Java.nio的使用手册,也不是如何使用Java.io与Java.nio的技术文档.这里只是尝试比较这两个包,用最简单的方式突出它们的区别和各自的特性.Java.nio提出了 ...
- java 的nio与io对比
转:本文并非Java.io或Java.nio的使用手册,也不是如何使用Java.io与Java.nio的技术文档.这里只是尝试比较这两个包,用最简单的方式突出它们的区别和各自的特性.Java.nio提 ...
- 解析posix与perl标准的正则表达式区别 ---PHP
正则表达式(Regular Expression,缩写为regexp,regex或regxp),又称正规表达式.正规表示式或常规表达式或正规化表示法或正规表示法,是指一个用 来描述或者匹配一系 ...
- perl正则表达式第一周笔记
正则表达式基础 ^ 行首标志 $ 行末标志 如^cat即一整行只有cat这个单词,^则是一个空行 [ ] 字符组,用来匹配若干字符之一 如gr[ae]y,即grey或者gray - 在字符组内部,字 ...
- perl学习笔记之:正则表达式
Perl 中的正则表达式 正则表达式的三种形式 正则表达式中的常用模式 正则表达式的 8 大原则 正则表达式是 Perl 语言的一大特色,也是 Perl 程序中的一点难点,不过 ...
随机推荐
- asp.net signalR 专题—— 第四篇 模拟RPC模式的Hub操作
在之前的文章中,我们使用的都是持久连接,但是使用持久连接的话,这种模拟socket的形式使用起来还是很不方便的,比如只有一个唯一的 OnReceived方法来处理业务逻辑,如下图: protected ...
- SSDB安装配置记录
SSDB的性能很突出,与Redis基本相当了,Redis是内存型,容量问题是弱项,并且内存成本太高,SSDB针对这个弱点,使用硬盘存储,使用Google高性能的存储引擎LevelDB,适合大数据量处理 ...
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...
- Forbidden You don't have permission to access / on this server PHP
在新安装的谷歌游览器里,打不了PHP网站了,错误显示: Forbidden You don't have permission to access / on this server. 原因还是配置权限 ...
- 算法: 斐波那契数列C/C++实现
斐波那契数列: 1,1,2,3,5,8,13,21,34,.... //求斐波那契数列第n项的值 //1,1,2,3,5,8,13,21,34... //1.递归: //缺点:当n过大时,递归 ...
- 集群(cluster)和高可用性(HA)的概念
1.1 什么是集群 简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源.这些单个的计算机系统就是集群的节点(node).一个理想的集群是,用户从来不会意识到集群系统 ...
- 漫谈c++11 Thread库之使写多线程程序
c++11中最重要的特性之一就是对多线程的支持了,然而<c++ primer>5th却没有这部分内容的介绍,着实人有点遗憾.在网上了解到了一些关于thread库的内容.这是几个比较不错的学 ...
- 【Windows编程】系列第四篇:使用Unicode编程
上一篇我们学习了Windows编程的文本及字体输出,在以上几篇的实例中也出现了一些带有“TEXT”的Windows宏定义,有朋友留言想了解一些ANSI和Unicode编程方面的内容,本章就来了解和学习 ...
- [WPF系列]-使用Binding来同步不同控件的Dependency property
简介 项目中经常会用到,同步两个控件的值,本文就简单列举两种方式来同步不同控件的两个Dependency Property. 示例 效果图: 只使用C#代码: //获取slider1的ValueDep ...
- Neutron 理解(10):虚拟专用网(VPN)虚拟化 [How Neutron implements VPN Virtualization]
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...