PHP中与Perl兼容的正则表达式处理函数

tcmalloc(高并发内存池)简化版讲解-项目 高清发不上去,私我发高清,项目完整代码@我。 阅读详情
在PHP中给我们提供两套正则表达式函数,POSIX 扩展正则表达式函数(ereg_)和Perl 兼容正则表达式函数(preg_),这两个函数功能一样,Perl 兼容正则表达式函数库效率高, 这里和这符串处理函数对比介绍,能使用字符串处理函数完成的功能,就不要使用正则表达式处理函数

1. 字符串的匹配与查找
字符串处理函数

strstr(a,b)

返回a 字符串从b 第一次出现的位置开始到a 结尾的字符串。

<span style="font-size:18px;">$a='visit';
$b='US President Barack Obama is in Cuba from March 20 to 22 for a historic visit to the island, reported China Daily.';
$c=strstr($b,$a);
echo $c; //visit to the island, reported China Daily.</span>

strpos(a,b)  

返回a 字符串从b 第一次出现的位置开始到a 结尾的位置,不存在返回false

<span style="font-size:18px;">$a='visit';
$b='Cuba visit part of Obama’s legacy.';
$c=strpos($b,$a);
if ($c!==false){
    echo "在'$b'中存在'$a'";
}else{
    echo "在'$b'中不存在'$a'";
}
</span>
preg_match(a,b,c)

执行一个正则表达式匹配

以正则a验证字符串b,c是搜素结果

<span style="font-size:18px;">$pattern="/\Bis\b/";  //正则表达式模式
$string="this is a island";  //需要匹配的字符串
if (preg_match($pattern,$string)){
    echo '匹配成功!';
}else{
    echo '匹配失败!';
}  //匹配成功</span>

2.字符串替换

     str_replace(a,b,c)

     在c中用b替换a

     str_ireplace()  不区分大小写

a. str_replace(string, string, string)

<span style="font-size:18px;"><?php
header("Content-Type: text/html; charset=UTF-8");
$a='No pains, no gains.';
$b='yes';
echo (str_ireplace('no',$b,$a));//yes pains, yes gains.</span>

b. str_replace(array, string, string)

    可以用于屏蔽非法关键字

<span style="font-size:18px;"><?php
header("Content-Type: text/html; charset=UTF-8");
$a='Keep good men company and you shall beof the number.';
$b=array('men','you','the');
$c='**';
echo (str_ireplace($b,$c,$a)); //Keep good ** company and ** shall beof ** number.</span>

c. str_replace(array, array, string)

   批量替换

<span style="font-size:18px;"><?php
header("Content-Type: text/html; charset=UTF-8");
$a='Keep good men company and you shall beof the number.';
$b=array('men','you','the');
$c=array('MEN','YOU','THE');
echo (str_ireplace($b,$c,$a));//Keep good MEN company and YOU shall beof THE number.</span>

preg_replace()  正则中替换函数
     1. 正常使用  preg_replace('string', 'string', 'stirng');
     2. 在正则中的子模式,可以用到二个参数中
     3. 在第二个参数中调用函数, 需要在模式中使用 e 模式修正符号
     4. 就是在前两个参数中都使用数组, 可以一起将多个模式(正则)同时替换成多个值的形式

3、字符串分割
explode

    按某个字符或字符串去分割   

<span style="font-size:18px;"><?php
header("Content-Type: text/html; charset=UTF-8");
$a='Keep good men company and you shall beof the number.';
print_r (explode(' ',$a)); //Array(    [0] => Keep    [1] => good    [2] => men    [3] => company    [4] => and    [5] => you    [6] => shall    [7] => beof    [8] => the    [9] => number.)</span>


preg_split

按一个正则的模式去分割

<span style="font-size:18px;"><?php
header("Content-Type: text/html; charset=UTF-8");
$a='A faithful friend is hard to find.';
//print_r (explode(' ',$a));
print_r(preg_split('/[\s]+/',$a));//Array(    [0] => A    [1] => faithful    [2] => friend    [3] => is    [4] => hard    [5] => to    [6] => find.)</span>

 
Labview_DQMH框架学习1--浅析 本文主要结合一个相对容易理解的例子,阐述 DQMH 框架的工作原理,希望对初学者有一定的帮助。 阅读详情

相关推荐

LTC3783 LED驱动控制器设计与效率优化详解

开关电源控制器是现代LED照明的核心器件,通过电流模式控制实现高效能量转换。其核心原理是通过采样电阻检测负载电流,配合误差放大器形成闭环调节,在汽车电子、显示背光等场景中确保±3%的电流精度。LTC3783作为典型代表,集成升压/降压-升压多拓扑支持,配合PWM调光技术可实现3000:1的无色偏调光范围。在工程实践中,需重点考量功率电感选型、MOSFET开关损耗与热管理设计,例如在38W功率方案中采用10μH/5A电感和4.5mΩ MOSFET可达成95%效率。该方案特别适用于需要应对9-36V宽输入电压波

weixin_36231030的博客 399

python perl 正则_Python中的Perl兼容正则表达式(PCRE)

特别注意Python中的非ASCIIPython在模式和字符串中如何处理或未能处理非ASCII存在一些非常微妙的问题。更糟糕的是,这些差异很大程度上取决于您使用的Python版本,还取决于您是否有一个“广泛的构建”。一般来说,在进行Unicode工作时,具有宽构建的Python 3工作得最好,而具有窄构建的Python 2工作得最差,但是所有的组合与Perl regex相对于Unicode的工作方...

weixin_39969881的博客 507

three.js开发3D地图记录(二)

添加地图点击事件,点击区域,地图区域改变颜色并浮起来。

anwebDesigner的博客 1694

与Perl兼容的正则表达式函数

正则表达式不能独立使用,它只是一种用来定义字符串的规则模式,必须在相应的正则表达式函数中应用,才能实现对字符串的匹配、查找、替换及分割等操作。前面也介绍过在PHP中有两套正则表达式函数库,而使用与Perl兼容的正则表达式函数库的执行效率要略占优势,所以在本书中主要介绍以“preg_”开头的正则表达式函数。另外,在处理大量信息时,正则表达式函数会使速度大幅减慢,应当只在需要使用正则表达式解析比较复杂...

weixin_30701521的博客 235

学生党投稿Applied Soft Computing:从导师账号登录到通讯作者设置的全流程解惑

本文详细解析了学生投稿Applied Soft Computing期刊的全流程,重点介绍了导师账号登录、通讯作者设置、作者排序调整以及开放获取费用等关键环节的避坑技巧。针对LaTeX稿件处理和财务选项选择提供了实用建议,帮助学生顺利完成SCI期刊投稿。

weixin_30352191的博客 211

用C#和MQTTnet在WinForm里做个简易物联网监控后台(附完整源码)

本文详细介绍了如何使用C#和MQTTnet库在WinForm中构建一个简易物联网监控后台。通过实战案例,包括环境配置、MQTT服务端实现、客户端监控功能及高级优化技巧,帮助开发者快速搭建高效的物联网监控系统,适用于工业自动化和智能家居场景。

weixin_29540599的博客 392

模式语法 — 解说 Perl 兼容正则表达式的语法

Differences From Perl PCRE 函数 PCRE Patterns PHP 手册 模式语法 (No version information available, might only be in SVN) 模式语法 — 解说 P

jiangfeng08的专栏 2177

系统设计---算法与架构

这片文章对系统设计的具体步骤及相关知识进行介绍,主要分为四部分:算法设计、IC系统架构设计、基于systemC的IC系统设计、系统设计工具SPW简介。 (一)算法设计 系统设计的第一步是给出清晰的系统规范,该规范写明了系统的功能、性能、费用、开发时间等。接下来创建一个系统行为模型,并且可以用来初步验证设计的性能。再下来,对行为模型进行细化,即进行算法设计。算法设计大致分为三步: 1)给出浮点

正在努力的ICer的博客 4373

14. Perl 正则表达式-正则匹配

正则表达式(regular expression) 在Perl 里面通常也叫模式(Pattern). 正则表达式是用来匹配或不匹配某个字符串是否符合特定字符串模板的,也可以实现字符串的替换. 1. 正则匹配语法 Perl 的正则表达式语法非常灵活, 可以借助于内置变量$_ 进行简化, 也可以借助于m符号来自定义匹配定界符. 1.1 简写方式 简写模式使用内置变量$_与模式进行匹配. 标准模式无须...

Java 程序源 9703

PHP实现SM2算法(附完整源码)

PHP实现SM2算法(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 4025

微信H5网页支付JSAPI部分用户报错:system:access_denied 的解决方案

JSAPI 支付仅支持微信内置浏览器调用。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1686

PHP学习笔记:PERL兼容正则表达式

<br />PERL兼容正则可以使用任何不是字母、数字或反斜线(/)的字符作为定界符,如果作为定界符的字符必须被用在表达式本身中,则需要用反斜线转义。也可以使用(),{},[] 和 <> 作为定界符<br /> <br />模式修正符:修正符中的空格和换行被忽略,其它字符会导致错误。<br />i 如果设定此修正符,模式中的字符将同时匹配大小写字母。<br />m 当设定了此修正符,行起始(^)和行结束($)除了匹配整个字符串开头和结束外,还分别匹配其中的换行符(/n)的之后和之前。<br />s 如果设定

LAMP随记 658

【AI Guide】AI面试攻略只用看这一篇就够了!力争做全网最全的AI面试攻略——大模型(五)Adapter 微调

Adapter 微调(Adapter Fine-tuning)是一种高效的参数高效微调(PEFT)方法。相较于全参数微调(Full Fine-tuning),Adapter 在预训练模型的特定层插入轻量级的可训练模块,而冻结原始模型参数,从而减少计算和存储开销。是缩放因子,控制 Adapter 输出的影响程度。设 Transformer 层的隐藏状态为。为 Adapter 层的可训练参数,为非线性激活函数,如 ReLU。为冻结的预训练模型参数,

AI科研社 184

php正则取文件名_PHP正则表达式

1. 正则表达式就是描述字符串排列模式的一种自定义语法规则。2. 如果可以使用字符串处理函数完成的任务,就不要使用正则3. 有一些复杂的操作,只能使用正则完成。正则表达式可以在很多计算机语言中应用4. 正则表达式也称为一种模式表达式。5.正则表达式就是通过构建具有特定规则的模式,与输入的字符信息比较。再进行分割、匹配、查找、替换等工作 * "//" * * 一、正则表达式也是一个字符串 * 二、由...

weixin_39684454的博客 550

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

php正则匹配js中变量_PHP正则表达式核心技术 第4节 php查找匹配函数使用心得

作者:极客小俊一个专注于web技术的80后你不用拼过聪明人,你只需要拼过那些懒人 你就一定会超越大部分人!php中兼容Perl的正则表达式处理函数在我们说php系统自带的正则处理函数之前,我们先要回忆一下在PHP中正则表达式的组成元素有哪些? 如下:定界符号原子元字符、量词模式修正符例如:一个匹配URL的正则表达式如下$url="/(https?|ftps?)://(www|mail|news)...

weixin_39602569的博客 274

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

细说PHP(九)

第9章 正则表达式9.1 正则表达式简介9.1.1 选择PHP正则表达式的处理函数库9.2正则表达式的语法规则9.2.1 定界符9.2.2 原子9.2.3 元字符9.2.4 模式修正符9.3 与Perl兼容的正则表达式函数 9.1 正则表达式简介 9.1.1 选择PHP正则表达式的处理函数库 preg_match() //进行正则表达式匹配 preg_match_all() //进行全局正则表达式匹配 preg_replace() //执行正则表达式的搜索和替换 preg_split(

YUKIDDDD的博客 176

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

PHP09 字符串和正则表达式

学习要点 字符串处理简介 常用的字符串输出函数 常用的字符串格式化函数 字符串比较函数 正则表达式简介 正则表达式语法规则 与perl兼容的正则表达式函数 字符串处理介绍 Web开发中字符串处理的工作量大概占到30%左右。原因是web系统客户端和服务器之间传输的数据格式基本上都是字符串。 字符串的处理方式 PHP中的字符串是一种基本数据类型 默认只支持2...

weixin_30677617的博客 142

php中pregmatch,php小经验:解析preg_match与preg_match_all 函数

正则表达式在 PHP 中的应用在 PHP 应用中,正则表达式主要用于:•正则匹配:根据正则表达式匹配相应的内容•正则替换:根据正则表达式匹配内容并替换•正则分割:根据正则表达式分割字符串在 PHP 中有两类正则表达式函数,一类是 Perl 兼容正则表达式函数,一类是 POSIX 扩展正则表达式函数。二者差别不大,而且推荐使用Perl 兼容正则表达式函数,因此下文都是以 Perl 兼容正则表达式函数...

weixin_35683330的博客 691

php正则表达式

正则表达式 与Perl语言兼容的正则表达式处理函数 函数名 功能描述 preg_match() 进行正则表达式匹配 preg_match_all() 进行全局正则表达式匹配 preg_replace() 执行正则表达式的搜索和替换 preg_split() 用正则表达式分割字符串 preg_grep() 返回与模式匹配的数组单元 preg_replace_callback() 用回调函数执行正则表达式的搜索和替换 正则表达式的语法规则

duoduowangjia的博客 274

百度云盘云知梦php_云知梦PHP笔记(三)未完待续

20.php的执行过程加载页面,语法检测(加载函数),执行脚本21.php数组数组是由多个元素组成,每个元素由key-value,value有八种数据类型索引数组和关联数组的混合使用,关联数组的使用不影响索引数组的下标例如:$arr = array("name" => 1, 2, 3, 100 => 4, 5, "age" =>6),它们的下标打印为"name", 0, 1, 1...

weixin_42470300的博客 224

正则表达式(Perl语法风格)

正则表达式是一种描述字符串排列的一种语法规则,通过该规则可以在一个大字符串中匹配出满足规则的子字符串。我们在程序的开发过程中,经常会遇到去对一类字符串进行处理的情况,比如在一堆字符串中查找是否含有邮箱,电话、手机号等。我们怎么描述匹配这些像邮箱、手机号等一类的字符串呢?这就要用到正则表达式。正则表达式不是PHP自己的东西,在JavaScript、Perl、Java等其他语言中也有可以使用。 PH...

weixin_43091501的博客 3079

不能为空的正则表达式_PHP正则表达式

1. 正则表达式就是描述字符串排列模式的一种自定义语法规则。2. 如果可以使用字符串处理函数完成的任务,就不要使用正则3. 有一些复杂的操作,只能使用正则完成。正则表达式可以在很多计算机语言中应用4. 正则表达式也称为一种模式表达式。5.正则表达式就是通过构建具有特定规则的模式,与输入的字符信息比较。再进行分割、匹配、查找、替换等工作 * "//" * * 一、正则表达式也是一个字符串 * 二、由...

weixin_30851637的博客 2804

PHP 正则表达式匹配 preg_match 与 preg_match_all 函数

正则表达式在 PHP 中的应用 在 PHP 应用中,正则表达式主要用于: 正则匹配:根据正则表达式匹配相应的内容正则替换:根据正则表达式匹配内容并替换正则分割:根据正则表达式分割字符串 在 PHP 中有两类正则表达式函数,一类是 Perl 兼容正则表达式函数,一类是 POSIX 扩展正则表达式函数。二者差别不大,而且推荐使用Perl 兼容正则表达式函数,因此下文都是以 Perl

u013487017的博客 421

正则表达式的用法 php,PHP中的正则表达式的使用

PHP中的正则表达式基础知识1.正则表达式就是描述字符串排列模式的一种自定义语法规则2.如果可以使用字符串处理函数完成的任务,就不使用正则表达式3.有一些复杂的操作,只能使用正则表达式完成4.正则表达式也称为一种模式表达式5.正则表达式就是通过构建具有特定规则的模式,与输入的字符信息比较,在进行分割、匹配、查找、替换等工作 例:"/\/"a.正则表达式也是一个字符串b.由具有特殊意义的字符串...

weixin_33732812的博客 233

PHP正则表达式

正则表达式可以单独使用的字符, 就是原子。正则表达式是一串字符串, 由含有特殊意义的字符组成, 可以看做一种语言, 只有在函数中使用才能发挥作用。可以使用函数处理就不要使用正则表达式, 正则表达式的效率比函数低, 主要用于处理复杂字符串。如果能使用字符串处理函数处理的, 就不要用正则, 因为字符串处理函数的效率比正则稍高。“/” 是开始和结束的符号, 除了字母、数字、“” 以外的任意字符都可以是定界符。/ 原子和元字符 /模式修正符。在定界符号之外使用的特殊字符。

浅时光 1689

正则表达式笔记

五、反向引用, 可以在模式中直接将子模式取出来,再作为正则表达式模式的一部分, 如果是在正则表达式像替换函数preg_replace函数中, 可以将子模式取出, 在被替换的字符串中使用。\W : 表示任意一个非字, 除了a-zA-Z0-9_以外的任意一个字符 [^a-zA-Z0-9_]\s : 表示任意一个空白字符,空格、\n\r\t\f [\n\r\t\f ]

ay091431的博客 873
上一篇: 常用正则表达式
下一篇: PHP文件操作之文件的类型和属性
wyphp
博客等级 码龄11年 1粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值