本节内容我们将介绍PHP中正则 表达式的基础语法:定界符和原子。内容包含了定界符的定义以及原子的定义和构成等等。其中原子的构成十分灵活,以便满足我们对处理字符串的需求。在这之 前,我们需要先了解一个正则表达式处理函数preg_match()来进行测试,以方便我们教程示例的进行。

先来看一下正则表达式的定界符、正则表达式的构成以及preg_match()函数:

1,正则表达式的定界符。

除了字母、数字和反斜线\以外的任何字符都可以为定界符号,比如 | |、//、{}、!!等等,但是需要注意,如果没有特殊需要,我们都使用正斜线//作为正则表达式的定界符号。

2,正则表达式的构成。

我们看一下这个公式:/原子和元字符/模式修正符

也就是说,正则表达式的原子和元字符都放在定界符之间,而模式修正符放在定界符之外。

3,preg_match()函数

我们会在后面进行详细解释,这里只是为了帮助测试,其返回一个布尔值,表示是否成功匹配。

了解完以上简单的内容,让我们进入正题。

正则表达式中的原子

什么是原子?原子是正则表达式的最基本组成单位,而且必须至少要包含一个原子。只要一个正则表达式可以单独使用的字符,就是原子。

这个概念可能看起来很模糊,没关系,下面我们来介绍一下正则表达式中原子的构成方式。

原子构成方式

1,所有打印(所有可以在屏幕上输出的字符串)和非打印字符(看不到的,比如空格,换行符等等)

2,如果所有有意义的字符,想做为原子使用,统统使用“\”转义字符进行转义即可。如:\. \* \+ \? \( \。

注意:" \ "转义字符可以将有意义的字符转成没意义的字符,还可以将没意义的字符转为有意义的字符。如:\d表示任意一个十进制的数字。

3,在正则表达式中可以直接使用一些系统提供的代表范围的原子,如下面的表格所示:

代表范围的原子

说明

自定义原子表示法

\d

表示任意一个十进制的数字

[0-9]

\D

表示任意一个除数字这外的字符

[^0-9]

\s

表示任意一个空白字符,空格、\n\r\t\f

[\n\r\t\f ]

\S

表示任意一个非空白

[^\n\r\t\f ]

\w

表示任意一个字 a-zA-Z0-9_

[a-zA-Z0-9_]

\W

表示任意一个非字,除了a-zA-Z0-9_以外的任意一个字符

[^a-zA-Z0-9_]

4,自定义原子表(使用方括号[]),可以匹配方括号中的任何1个原子。

在上面的表格中我们已经将系统提供的范围原子使用自定义的方式作了等价转换。由于系统不可能提供所有我需要的原子,所以自定义原子表就显得十分必要了,比如我们想要匹配字母或者数字,就需要将原子写成[a-zA-Z0-9]。

这里需要注意:

A,符号“-”表示范围,如[a-z]表示小写字母a到z,但千万不要写成[a-9]这种形式!

B, 符号“^”表示取反,一定要放在方括号的开头,比如我们想要匹配非数字,则原子为[^0-9]。

下面我们来看一下正则表达式原子的使用实例,代码如下:

$pattern = '/\d/';//数字原子表,也就是正则表达式的模式

$string = 'dsadsadsa';//需要匹配的字符串

if(preg_match($pattern, $string)){

echo "正则表达式{$pattern} 和字符串 {$string} 匹配成功";

}else{

echo "正则表达式{$pattern}和字符串{$string}匹配失败";

}

?>

注意:自定义原子表中的原子有一个被字符串匹配上,就匹配成功了。而去掉自定义原子表的方括号,则表示匹配整个字符串。如'/abc/'表示字符串中必须有abc这个子串才能被匹配,而'/[abc]/'表示字符串中只要包含a、b和c中的任何一个字符,即被匹配。

大家可以将上面实例中的模式进行修改(也就是正则表达式的模式变量$pattern),进而对我们本节所讲的正则表达式的原子进行验证。

本节关于正则表达式的定界符和原子就介绍完了,相信在练习的基础上,你已经会使用正则表达式的原子了。下节我们将介绍php正则表达式中的元字符,不要错过啊。

php正则表达式 定界符,PHP正则表达式之定界符和原子介绍相关推荐

  1. python正则表达式操作指南_Python正则表达式操作指南

    原文作者:A.M. Kuchling (amk@amk.ca) 翻译人员:FireHare 校对人员:Leal 适用版本:Python 1.5 及后续版本 摘要 本文是通过Python的 re 模块来 ...

  2. python正则表达式模块_Python正则表达式函数模块

    今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的资料.这里主要介绍python中常用的正则表达式处理函数. 方法/属性 作用 match() 决定 R ...

  3. java中正则表达式函数_java正则表达式PHP中的正则表达式函数介绍

    java正则表达式PHP中的正则表达式函数介绍 正则表达式(Regular Expression) 正则表达式系统: 1.POSIX 2.Perl PHP中使用的regex是PCRE: NOTE:PC ...

  4. 什么是PHP正则表达式?PHP正则表达式的使用方法(附代码)

    什么是PHP正则表达式?php正则表达式是一种描述字符串结构的语法规则,是一个特定的格式化模式,可以匹配.替换.截取匹配的字串:那么,php正则表达式使用方法是怎样的呢?接下来我们就来看一看具体的实例 ...

  5. 表示所有字符的正则表达式html,JavaScript正则表达式介绍

    正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串搜索模式.搜索模式可用于文本搜索和文本替换. 什么是正则表达式正则表达式,英语:Regular Expression,在代码中常简写为 ...

  6. php用正则表达式来判断,php正则表达式使用的详细介绍

    前言 正则表达式是烦琐的,但是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感.只要认真去阅读这些资料,加上应用的时候进行一定的参考,掌握正则表达式不是问题. 1. 引子 目前,正则 ...

  7. python 正则表达式方法_Python正则表达式一: 基本使用方法

    学习python的正则表达式,主要有两个方面学习: 第一,学习如何写正则表达式,主要是掌握其语法规范.正则表达式的语法规范是通用的,对各种开发语言都是一致的. 第二,学习如何使用正则表达式,也就是掌握 ...

  8. python 正则表达式 前瞻_正则表达式 For Python

    Manarola 正则表达式有很多流派,也有很多的特性,不同的语言支持度也是不一样的.本篇文章是写Python中的正则表达式的用法的,介绍了一些可用特性,也指出了某些特性是不支持的. 本篇文章仅为学习 ...

  9. 58.最全正则表达式教程,最好正则表达式教程

    正则表达式是什么? 字符是计算机软件处理文字最基本的单位,可以是字母,也可以是数字,标点符号,空格,换行符,汉字等等. 字符串是0个或更多个字符的序列.文本也就是文字,字符串.说某个字符串匹配某个正则 ...

最新文章

  1. 多语言切换jquery.i18n.min.js
  2. 自学python找工作难吗-大四应届毕业生,学了两个月Python,找工作感觉好难啊?...
  3. 中国靶材行业需求前景分析及发展形势研究报告2021版
  4. android 点击外部接收事件,Android Dialog外部点击事件
  5. linux mount文件夹
  6. ECharts 雷达图在类目值下面显示数值
  7. [LeetCode]238.Product of Array Except Self
  8. 在Ubuntu中安装MySQL (转载)
  9. 【基础】基础算法学习笔记(状态空间)
  10. PyQt5多线程刷新界面防假死
  11. Linux环境:可变剪切分析软件rMATS安装、使用与解读
  12. 《富爸爸穷爸爸 》 读书笔记
  13. 知乎live-李笑来-人人都能用英语-笔记
  14. 用Python写一个拼音输入法
  15. 京东到家话费券系统NIO实战
  16. 思博伦TestCenter Virtual上线AWS Marketplace, 可简化公有云和混合云测试
  17. 965年10元纸币收藏价值
  18. python判断循环小数_python如果一个数是为无限循环小数,返回分数格式,否则返回小数格式...
  19. 服务启动日志时间跟系统时间不相符问题
  20. 在西门子S7-200中一步步做库文件

热门文章

  1. java jgeometry_7.2 在Java中操作几何体
  2. threejs中bufferGeometry合并几何体实现
  3. 机器学习之HMM模型
  4. 基于STM32的录音机设计(STM32F103+VS1053B)
  5. .NET新能源汽车锂电池检测程序UI挂死问题分析
  6. Spring.Net框架学习错误集锦1
  7. Mac快捷使用三:Mac截图扩展功能
  8. git把我本地文件传到我的指定的仓库
  9. matlab 画三维动画
  10. 计算机科学与技术科学的根本问题是,哪些问题是计算科学的基本问题和重大问题呢?...