PHP preg match正则表达式函数的操作实例

在php中preg_match()函数是用来执行正则表达式的一个常用的函数。正则表达式几乎在所有编程语言里面都会用到,本实例介绍php中正则表达式preg_match函数的应用。

preg_match() 函数用于进行正则表达式匹配,成功返回 1 ,否则返回 0 。

preg_match() 匹配成功一次后就会停止匹配,如果要实现全部结果的匹配,则需使用 preg_match_all() 函数。

语法:

preg_match (pattern , subject, matches)
参数 描述 pattern 正则表达式 subject 需要匹配检索的对象 matches 可选,存储匹配结果的数组

实例:

此实例匹配大写字母后面带有.和空格的字符串,只能匹配到J. ,因为preg_match() 匹配成功一次后就会停止匹配,后面不会再匹配了。

<?php $str="Daniel J. Gross Catholic High School A. is a faith and family based community committed to developing Christian leaders through educational excellence in the Marianist tradition."; if(preg_match("/[A-Z]. /",$str,$matches)){ print_r($matches); } ?>

输出结果:

Array ( [0] => J. )

下面给大家介绍preg_match字符串长度问题

preg_match正则提取目标内容,死活有问题,代码测得死去活来。

后来怀疑PHP 的preg_match有字符串长度限制,果然,发现“pcre.backtrack_limit ”的值默认只设了100000。

解决办法:

ini_set('pcre.backtrack_limit', 999999999);

注:这个参数在php 5.2.0版本之后可用。

另外说说关于:pcre.recursion_limit

pcre.recursion_limit是PCRE的递归限制,这个项如果设很大的值,会消耗所有进程的可用堆栈,最后导致PHP崩溃。

也可以通过修改配置来限制:

ini_set('pcre.recursion_limit', 99999);

实际项目应用中,最好也对内存进行限定设置:ini_set('memory_limit', '64M'); , 这样就比较稳妥妥嘎。

时间: 2024-10-14 22:48:55

PHP preg match正则表达式函数的操作实例的相关文章

PHP preg match正则表达式函数的操作实例_正则表达式

在php中preg_match()函数是用来执行正则表达式的一个常用的函数.正则表达式几乎在所有编程语言里面都会用到,本实例介绍php中正则表达式preg_match函数的应用. preg_match() 函数用于进行正则表达式匹配,成功返回 1 ,否则返回 0 . preg_match() 匹配成功一次后就会停止匹配,如果要实现全部结果的匹配,则需使用 preg_match_all() 函数. 语法: preg_match (pattern , subject, matches) 参数 描述

java match正则匹配函数几个实例

java match正则匹配函数几个实例 match电话正则 public class main {   public static void main(string args[]) {     string phone = "(111)-111-1111";     string phonenumberpattern = "(d-)?(d{3}-)?d{3}-d{4}";     system.out.println(phone.matches(phonenumb

jquery inArray makearray merge unique 数组函数操作实例

jquery inarray makearray merge unique 数组函数操作实例 $.inarray(val,array)判断值是否存在于数组中[常用] 解释: 确定第一个参数在数组中的位置, 从0开始计数(如果没有找到则返回 -1 ). 记得indexof()方法了吗? indexof()返回字符串的首次出现位置,而$.inarray()返回的是传入参数在数组中的位置,同样的,如果找到的,返回的是一个大于或等于0的值,若未找到则返回-1.现在, 知道怎么用了吧. 有了它, 判断某个

CI框架AR数据库操作常用函数总结_php实例

本文实例讲述了CI框架AR数据库操作常用函数.分享给大家供大家参考,具体如下: 1.查询表记录 $this->db->select(); //选择查询的字段 $this->db->select_max(); $this->db->select_min(); $this->db->select_avg(); $this->db->select_sum(); $this->db->from(); //选择表名 $this->db-&

PHP中一些可以替代正则表达式函数的字符串操作函数_php技巧

0x01:根据预定义的字符对字符串进行词法分析 复制代码 代码如下: <?php /*  * 在处理大量信息时,正则表达式函数会使速度大幅减慢.应当在需要使用正则表达式解析比较复杂的字符串时才能使用这些函数.如果要解析简单的表达式,还可以采用很多可以显著加快处理过程的预定义函数.  */ /*  * 根据预定义的字符对字符串进行词法分析  * strtok()函数根据预定义的字符列表来解析字符串.其形式为:  * string strtok(string str,string tokens)  

浅析PHP正则表达式函数库

本文向你介绍了PHP正则表达式函数库(POSIX 扩展)greedy匹配,我们要注意,在条件子模式以及其它许多 POSIX 扩展正则表达式语法中那些所不被不支持的特性. PHP正则表达式函数库学习中的警告: 本类正则表达式并不能安全用于二进制模式.PCRE 函数库则可以.正则表达式在 PHP 中用来做复杂的字符串操作.支持正则表达式的函数为: ◆ereg() ◆ereg_replace() ◆eregi() ◆eregi_replace() ◆split() ◆spliti() 这些函数都接受一

PHP 正则表达式函数库(两套)_正则表达式

在PHP中有两套正则表达式函数库,两者功能相似,只是执行效率略有差异: 一套是由PCRE(Perl Compatible Regular Expression)库提供的.使用"preg_"为前缀命名的函数: 一套由POSIX(Portable Operating System Interface of Unix )扩展提供的(PHP默认).使用以"ereg_"为前缀命名的函数: PHP中,正则表达式有三个作用: 匹配,也常常用于从字符串中析取信息. 用新文本代替匹配

php中字符串和正则表达式详解_php实例

一.字符串类型的特点 1.PHP是弱类型语言,其他数据类型一般都可以直接应用于字符串函数操作. <?phpecho substr("123456",2,4);  //输出345echo substr(123456,2,4);    //输出345echo hello;                 //先查找hello常量,若没找到,将hello看做字符串使用?> 2.字符串可以作为"数组",是字符的集合. <?php$str = "w

python re.search 和 re.match 正则表达式 (1/2)

python re.search 和 re.match 正则表达式 一 re.search 和 re.match python提供了2中主要的正则表达式操作:re.match 和 re.search. match :只从字符串的开始与正则表达式匹配,匹配成功返回matchobject,否则返回none: search :将字符串的所有字串尝试与正则表达式匹配,如果所有的字串都没有匹配成功,返回none,否则返回matchobject:(re.search相当于perl中的默认行为)   实例代码