【六】PHP正则表达式方法
PHP中正则表达式的声明格式有两种方式,一种是POSIX老版模式,已经不常用。还有一种是其他语言中常见的PCRE方法。
1.正则表达式的匹配方法并返回匹配的项:array preg_grep(string reg,array 被匹配的数组);
$reg="/a|b/";
$str=array('abcaBC','bcd','kkk');
$ar=preg_grep($reg,$str);
print_r($ar);//Array ( [0] => abcaBC [1] => bcd )
2.判断目标字符串是否匹配正则表达式:int preg_match(string 正则表达式,string 目标字符串,array 存放数组(可有可无)); int preg_match_all(string 正则表达式,string 目标字符串,array 存放数组);
$arr=$arr2=array();
$reg="/a|b/";
$str='cccacccccaa';
echo preg_match_all($reg,$str,$arr);//
echo preg_match($reg,$str,$arr2);//
print_r($arr);//Array ( [0] => Array ( [0] => a [1] => a [2] => a ) )
print_r($arr2);//Array ( [0] => a )
3.将字符串中的特殊字符转义 string preg_quote(string 目标字符串,string 指定转义的字符串(可有可无));
$str="\$$^&#@";
$str2='\$$^&#@';
echo preg_quote($str);// \$\$\^&#@
echo preg_quote($str2);// \\\$\$\^&#@
echo preg_quote($str,'@');// \$\^&#\@
4.正则表达式的替换函数:preg_replace(string 正则,string 替换字符,string 目标字符串,int 替换次数(可有可无,默认全部替换));
$reg="/a|b/";
$str='abcskdfaasdca';
echo preg_replace($reg,'@',$str);//@@cskdf@@sdc@
echo preg_replace($reg,'@',$str,2);//@@cskdfaasdca
5.正则表达式的替换函数:preg_replace_callback(string 正则 ,string callback函数名,string 目标字符串,int 可有可无的替换次数);
function call($ss){
$ss='obj';
return $ss;
}
$reg="/a|b/";
$str='abcdefga';
echo preg_replace_callback($reg,'call',$str);//objobjcdefgobj
echo preg_replace($reg,'call',$str,2);//objobjcdefga
6.用正则表达式分割字符串,返回一个数组:array preg_split(string 正则,string 目标字符串,int 分割次数(可有可无)); 注:作为分割的匹配项被删除。
$reg="/a/";
$str='abcadeafga';
print_r(preg_split($reg,$str));//Array ( [0] => [1] => bc [2] => de [3] => fg [4] => )
print_r(preg_split($reg,$str,2));//Array ( [0] => [1] => bcadeafga )
【六】PHP正则表达式方法的更多相关文章
- 千万别把js的正则表达式方法和字符串方法搞混淆了
我们在字符串操作过程中肯定经常用了test() split() replace() match() indexof()等方法,很多人经常把用法写错了,包括我,所以今天细细的整理了下. test()是判 ...
- javascript入门篇(六、正则表达式)
JavaScript 正则表达式 正则表达式是由一个字符序列形成的搜索模式.当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容. 正则表达式可以是一个简单的字符,或一个更复杂的模式.正则表达 ...
- JS正则表达式方法
使用正则表达式的主要有match,exec,test 1.正则表达式方法test测试给定的字符串是否满足正则表达式,返回值是bool类型的,只有真和假. var user_code = $(" ...
- devi into python 笔记(六)正则表达式 原始字符串
字符串函数replace: #string.replace: #字符串的replace方法:替换子串,不改变原来的字符串 s = "broad road" #打印出来会发现不单单是 ...
- C#编程(四十六)----------正则表达式
正则表达式 1.定义一个Regex类的实例 Regex regex=new Regex(“”); 这里初始化参数就是一个正则表达式,”\d”表示配置数字 2.判断是否匹配 判断一个字符串,是否匹配一个 ...
- PHP:第六章——正则表达式的基本概念
<?php header("Content-Type:text/html;charset=utf-8"); //正则表达式的基本概念: //宽松匹配和严格匹配: //常见的匹 ...
- PHP十六个魔术方法
PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods),这些方法在PHP中充当了举足轻重的作用. 魔术方法包括: __construct(),类的构造函数 __destruct ...
- 章节十六、3-TestNG方法和类注解
一.Test Suite(测试套件) 我们通常认为一个testcase就是一个测试方法,但是会有很多的testcase,所以我们不可能把所有的testcase放到同一个测试类中,假如需要测试的页面有1 ...
- Java学习笔记【六、正则表达式】
参考:http://www.runoob.com/java/java-regular-expressions.html 概述 java.util.regex包,主要包含三个类: Pattern:正则表 ...
随机推荐
- Python核心编程--学习笔记--6--序列(上)字符串
本章研究Python中的序列:字符串.列表和元组.因为这些类型其实都是由一些成员共同组成的一个序列整体,所以我们把它们统称为序列.序列的存储结构可以表示为: 1 序列 序列类型有着相同的访问模式:按下 ...
- ED/EP系列3《基本指令》
Ø --APPLICATIONBLOCK(应用锁定): Ø --APPLICATION UNBLOCK(应用解锁): Ø --CARDBLOCK(卡片锁定): Ø --EXTERNAL AUTHENT ...
- 删除undotbs后,数据库无法启动
SQL> archive log list;Database log mode No Archive ModeAutomatic archival ...
- MongoDB牛刀小试
MongoDB基本操作 1.MongoDB的启动 首先创建一个目录作为MongoDB的工作目录: 进入MongoDB的bin目录: 执行mongod命令,使用参数--dbpath指定MongoDB的工 ...
- 在JAVA中使用JSONObject生成json
JSON是一种轻量级的数据交换格式,在现在的web开发中,是非常常见的.在没有方便的工具之前,我们或许会使用拼字符串的形式来生成json数组,今天我们使用一个json-lib.jar包来为我们实现生成 ...
- OpenStack: OVS安装
> OVS安装:1. Install the Open vSwitch plug-in and its dependencies:# apt-get install \neutron-plugi ...
- Go append方法
append用来将元素添加到切片末尾并返回结果.看代码: package main import "fmt" func main() { x := [],,} y := [],,} ...
- iOS-添加测试设备Identifier
第一步:确认你的设备已经连接 第二步:点击xcode上"Windows"标签,选择"Devices" 第三步:在弹出的左框选择你要添加的设备.在右边框里可以找到 ...
- iOS学习之Object-C语言类的扩展
一.Category 1.Category:也叫分类,类目.是为没有源代码的类扩充功能.扩充的功能会成为原有类的一部分,可以通过原有类或者原有的对象直接调用,并且可继承. 2.注意 ...
- [DHCP服务]——DHCP详解
DHCP:(Dynamic Host Configuration Protocol) 动态主机配置协议 1. DHCP是一个局域网的网络协议,采用UDP协议工作 2. DHCP作用 (1)主要应用在大 ...