php 正则表达式一.函数解析
一.php中 常用的正则表达式函数
1.preg_match与preg_match_all
preg_match与preg_match_all区别:
preg_match的只要匹配成功就结束匹配,返回值是0或者1,如果有$matchs那么返回匹配成功的结果
preg_match_all:返回匹配的次数,如果有$matchs那么返回所有匹配成功的结果
$pattren = '/[0-9]/';
$subject = 'alfjsakldfnjf12f12ggd4j它'; $res1 = preg_match($pattren,$subject,$match);
echo '$res1='.$res1;
echo "<br />";
print_r($match);
echo "<hr />";
$res2 = preg_match_all($pattren,$subject,$match2);
echo '$res2='.$res2;
echo "<br />";
print_r($match2);
echo "<hr />";
输出:
$res1=1
Array ( [0] => 1 )
$res2=5
Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 2 [4] => 4 ) )
2.preg_replace与preg_filter
区别:当$subject是数组时,preg_replace,返回所有的元素,而preg_filter只返回数组中匹配的值
$pattren = '/[0-9]/';
$replace = '女神';
//$subject = 'alfjsakldfnjf12f12ggd4j它';
$subject = array('al1fjs','akldf','njf12f','12ggd4j它'); $str1 = preg_replace($pattren,$replace,$subject);
$str2 = preg_filter($pattren,$replace,$subject); print_r($str1);
echo "<br />";
echo "<hr />";
print_r($str2);
//输出
Array ( [0] => al女神fjs [1] => akldf [2] => njf女神女神f [3] => 女神女神ggd女神j它 )
Array ( [0] => al女神fjs [2] => njf女神女神f [3] => 女神女神ggd女神j它 )
3.preg_grep.返回数组中与$pattern匹配的数组元素,并不替换
$pattern = '/[0-9]/';
$subject = array('fal','jsd24j','f1','2j40','9gaaf'); $arr = preg_grep($pattern, $subject); print_r($arr);
输出:Array ( [1] => jsd24j [2] => f1 [3] => 2j40 [4] => 9gaaf )
$pattern = '/[0-9]/';
$subject = '妹1子45啊,约234不2380约啊?'; $arr = preg_split($pattern,$subject);
print_r($arr);
输出:
Array ( [0] => 妹 [1] => 子 [2] => [3] => 啊,约 [4] => [5] => [6] => 不 [7] => [8] => [9] => [10] => 约啊? )
$str = 'reas{12}[23]_+fahiu~=';
$res = preg_quote($str);
print_r($res);
输出:reas\{12\}\[23\]_\+fahiu~\=
php 正则表达式一.函数解析的更多相关文章
- python正则表达式re之compile函数解析
re正则表达式模块还包括一些有用的操作正则表达式的函数.下面主要介绍compile函数. 定义: compile(pattern[,flags] ) 根据包含正则表达式的字符串创建模式对象. 通过py ...
- PHP 正则表达式常用函数使用小结
在PHP中有两套正则表达式函数库.一套是由PCRE(Perl Compatible Regular Expression)库提供的.PCRE库使用和Perl相同的语法规则实现了正则表达式的模式匹配,其 ...
- PHP中有关正则表达式的函数集锦
之前学正则表达式的目的是想从网上抓取点小说啊,文档啊,还有获取相应的视频连接然后批量下载.当时初学PHP根本不知道PHP有专门抓包的工具,就像Simple_html_dom.php(在我的其他博文中有 ...
- ORACLE中的支持正则表达式的函数
ORACLE中的支持正则表达式的函数主要有下面四个:1,REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与INSTR的功能相似3,REGEXP_SUBSTR :与SUBS ...
- [转]javascript eval函数解析json数据时为什加上圆括号eval("("+data+")")
javascript eval函数解析json数据时为什么 加上圆括号?为什么要 eval这里要添加 “("("+data+")");//”呢? 原因在于: ...
- PHP json_decode 函数解析 json 结果为 NULL 的解决方法
在做网站 CMS 模块时,对于模块内容 content 字段,保存的是 json 格式的字符串,所以在后台进行模块内容的编辑操作 ( 取出保存的数据 ) 时,需要用到 json_decode() 函数 ...
- Matlab中bsxfun和unique函数解析
一.问题来源 来自于一份LSH代码,记录下来. 二.函数解析 2.1 bsxfun bsxfun是一个matlab自版本R2007a来就提供的一个函数,作用是”applies an element-b ...
- socket使用TCP协议时,send、recv函数解析以及TCP连接关闭的问题
Tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据. 在阻塞模式下, send函数的过程是将应用程序请求发送的数 ...
- sigaction函数解析
http://blog.chinaunix.net/uid-1877180-id-3011232.html sigaction函数解析 sigaction函数的功能是检查或修改与指定信号相关联的处理 ...
随机推荐
- fs 小计
如果是export 就可以放到b-leg上 如果是set就可以对于a-leg
- wpf 帧动画
帧动画实现很简单 <ImageBrush x:Key="speed_s" Stretch="Fill" ImageSource="/images ...
- 单元测试时使用Ninject的小问题
主要是Kernel没有被释放,Ninject的Kernel必须调用IDispose释放.也有可能是静态类型在VS单元测试时无法被释放. 先记录下这个问题
- USB3.0测试和使用说明
概述 AC6102上集成了一颗Cypress 推出的高性能USB3.0传输芯片CYUSB3014,Cypress称之为EZ-USBFX3.该芯片性能强劲,功能强大,接口简单,非常适合用于各种需要高速数 ...
- JSON 常用数据转换
#endregion #region Json字符串转换为DataTable 实例方法 public DataTable JsonToDataTable(json) { DataTable dt= T ...
- 【Android】利用Fiddler进行抓包详解教程。抓取接口以及数据,可以抓真实安卓手机或者模拟器。
大家都知道抓包的方法很多.我这里给大家介绍介绍一种,利用fiddler进行抓包,当然比如Wireshark也可以抓包,我们这里不做介绍.我这里演示的是fiddler+天天模拟器,当然真实安卓手机也是一 ...
- Cannot change version of project facet Dynamic Web Module to 3.0 requires Java 1.6 or newer 解决方案
Eclipse Maven 开发一个 jee 项目时,编译时遇到以下错误:Description Resource Path Location TypeDynamic Web Module 3.0 r ...
- phpmyadmin通过日志文件拿webshell
该方法非原创.只是给大家分享一下姿势.如果知道得就当复习了,不知道得就捣鼓捣鼓. 前提:条件是root用户. 思路:就是利用mysql的一个日志文件.这个日志文件每执行一个sql语句就会将其执行的保存 ...
- 阿里云经典网络和专有 专有自己设置网络和私网IP
阿里云网络系列之经典网络和专有网络 驻云科技 2016-07-29 13:43:44 浏览45005 评论9 云栖社区 nginx 安全与风控 系统软件 编程语言 数据存储与数据库 系统研发与运维 ...
- JQ 时间插件
<script type="text/javascript" charset="utf-8" src="__PUBLIC__/ueditor/u ...