本文介绍PHP常用正则匹配函数间的区别,主要有str_replace、str_ireplace、substr_replace、preg_replace、preg_match、preg_match_all、preg_quote、preg_split、ereg_replace、eregi_replace、preg_replace、str_split,当然其中有几个不能使用正则表达式,但因为跟相关正则函数关系暧昧所以都放到一起比较一下,方便参考。
名称 |
支持正则 |
特点 |
备注 |
str_replace |
X |
字符串替换函数,大小写敏感 |
|
str_ireplace |
X |
字符串替换函数,大小写不敏感,支持数组式批量替换 |
感谢网友franci,提醒添加 |
substr_replace |
X |
部分替换字符串函数,可以指定位置index |
|
|
|
|
|
preg_replace |
Y |
指定匹配模式进行替换,支持子串引用 |
优先使用 |
ereg_replace |
Y |
指定匹配模式进行替换,大小写敏感,支持子串引用 |
|
eregi_replace |
Y |
指定匹配模式进行替换,大小写不敏感,支持子串引用 |
|
|
|
|
|
ereg |
Y |
指定模式全文匹配,可以用来匹配判断,或返回匹配数组 |
|
preg_match |
Y |
指定模式匹配一次退出,可以用来是否匹配判断,或使用返回的匹配数组 |
优先使用 |
preg_match_all |
Y |
指定模式全文匹配,一般用来使用返回的匹配数组 |
优先使用 |
|
|
|
|
preg_split |
Y |
指定匹配模式下正则剖分,如果能用最好还是使用explode或str_split |
|
str_split |
X |
指定长度剖分字符串,默认单个字符剖分成数组 |
|
explode |
X |
可以指定单个或多个字符剖分字符串,成功则返回数组,例如12345按照34剖分则返回12和5 |
|
|
|
|
|
preg_quote |
- |
转义正则表达式字符,意思就是为特殊字符加上反斜线,正则表达式的特殊字符包括:. + * ? [ ^ ] $ ( ) { } = ! < > | : - |
|
|
|
|
|
补充说明:
1、在PHP中有两套正则表达式函数库,功能非常相似:
一套是POSIX(Portable Operating System Interface of Unix )库提供的,函数以ereg_前缀命名,POSIX正则函数库目前已经不再推荐使用。
一套是PCRE(Perl Compatible Regular Expression)库提供的,函数以preg_前缀命名,推荐大家优先使用。在PCRE中,通常将模式表达式(即正则表达式)包含在两个反斜线“/”之间,如“/^w+$/”样式。
2、PHP正则表达式作用:匹配提取、匹配替换。
分享到:
相关推荐
### MATLAB常用命令及函数大全(按字母顺序排列) #### abs - 求绝对值 `abs`函数用于计算一个数值或复数的绝对值。对于复数,它实际上是计算该复数的模。 #### acos - 反余弦函数 `acos`函数用于计算一个数值的反...
点集的三角剖分(Triangulation),对数值分析(比如有限元分析)以及图形学来说,都是极为重要的一项预处理技术。尤其是Delaunay三角剖分,由于其独特性,关于点集的很多种几何图都和Delaunay三角剖分相关,如...
常用的三角剖分算法有Ear Clipping法、Winding Number法和Delaunay Triangulation等。在这里,我们主要关注Delaunay Triangulation,因为它具有良好的性质,如无内切圆、保持相邻三角形的相对顺序等。 在Java中,...
Delaunay三角剖分算法 1. 三角剖分与Delaunay剖分的定义 如何把一个散点集合剖分成不均匀的三角形网格,这就是散点集的三角剖分问题,散点集的三角剖分,对数值分析以及图形学来说,都是极为重要的一项预处理技术。 ...
Delaunay三角剖分是一种常用的网格生成方法,它具有最大最小角特性和空外接圆特性,使其在二维情况下自动避免了生成小内角的长薄单元。然而,对于非计算机图形学专业的工程师来说,实现Delaunay有限元网格生成还是很...
例如,`delaunay`函数可以根据一组散乱的点自动生成三角剖分,而`TriScatteredInterp`则可用于在这些三角剖分上进行插值运算。 "剖分_"标签可能表示的是对剖分过程的进一步细分或特定操作,如优化剖分质量(确保...
平面三角剖分是一种在计算机图形学中广泛应用的技术,主要用于构建三维模型。它的基本思想是将复杂的几何形状分解成一系列互不相交的三角形,这些三角形能够精确地覆盖原始的多边形表面。这样的过程使得复杂的形状...
### 自适应Delaunay三角剖分:理论与实践 #### 一、引言 Delaunay三角剖分作为一种有效的几何构造方法,在计算机图形学、地理信息系统(GIS)、有限元分析等领域有着广泛的应用。特别是在三维重构技术中,对任意...
在有限元方法(Finite Element Method, FEM)中,矩形网格剖分是解决各种工程问题,如结构力学、流体力学、热传导等的重要步骤。MATLAB是一种强大的编程环境,特别适合数值计算和可视化,因此它常被用于实现有限元...
Delaunay三角剖分算法是一种常用的离散点生成三角网络的算法,主要用于计算机图形学、地理信息系统、计算机视觉等领域。该算法的原理可以分为三步:凸包生成、环切边界法凸包三角剖分和离散的内插。 一、凸包生成 ...
在有限元网格剖分中,需要将工作环境下的物体离散成简单单元的过程,常用的简单单元包括一维杆元及集中质量元、二维三角形、四边形元和三维四面体元、五面体元和六面体元。网格剖分应满足以下要求:合法性、相容性、...
### 基于OpenGL实现三维散乱点集的Delaunay三角剖分 #### 概述 本文探讨了如何利用OpenGL(开放图形库)来实现三维散乱点集的Delaunay三角剖分,并重点介绍了该技术在将离散点可视化中的应用价值。Delaunay三角...
三角剖分算法中,Delaunay三角网是一种常用的方法。Delaunay三角网的特点是,对于任何一个内点,其周围围成的圆内没有其他点。这样保证了每个三角形的最大内角最小,从而在视觉上更为均匀且适合各种应用。实现...
三角剖分是计算机图形学中的一个重要概念,尤其在三维建模和模拟中有着广泛的应用。在给定的“VC 写的三角剖分代码”中,我们主要关注的是使用Visual C++(VC)实现的Delaunay三角剖分算法。Delaunay三角剖分是一种...
《剖分工具(运行版):深度解析与应用指南》 在数据分析和处理领域,有效的数据分割是至关重要的步骤,特别是在大数据集的管理和利用中。本文将深入探讨名为“剖分工具(运行版)”的专业工具,它专为面数据集提供...
多边形的三角剖分可以采用不同的算法,其中最常用的是Ear Clipping算法和Delaunay三角网生成算法。Ear Clipping算法首先找到多边形的“耳朵”,即不相邻其他顶点的内角,然后剪去这些耳朵,直至剩余的顶点形成一个...
三维四面体网格剖分程序 三维四面体网格剖分程序
多边形三角剖分是计算几何( Computational Geometry)中的经典问题,起源于一个有趣的艺术画廊问题。目前有很多不同的算法实现了对多边形的三角剖分,三角化算法所追求的目标主要有两个:形状匀称和计算速度快。 此...
在计算机图形学中,Delaunay三角剖分和Voronoi图是两种重要的几何算法,常用于数据可视化、图像处理、游戏开发等领域。OpenCV(开源计算机视觉库)提供了实现这两种算法的功能,使得开发者可以方便地在Python环境中...