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函数的功能是检查或修改与指定信号相关联的处理 ...
随机推荐
- MySQL之mysql客户端工作的批处理一些使用手法
通常我们会用mysql这个客户端程序来连接mysql库.这个通常是工作在交互式模式下的.如我们连接上mysql并执行如下操作: mysql -uroot -h127. -P3306 Welcome t ...
- sqlite-按日期分组,根据日期查询详细内容
一.按日期分组 String paramString = "select strftime('%Y-%m-%d',"+DBConfig.RUNNING_LOG_DATE+" ...
- 查看linux内核和版本信息
一.查看Linux内核版本命令(2种方法): 1.cat /proc/version Linux version 3.10.0_1-0-0-8 (root@xxx) (gcc version 4.8. ...
- 小马哥课堂-统计学-z分数
Standard score(z-分数) The standard score is the signed number of standard deviations by which the val ...
- Makefile 之 $(Q)
# To put more focus on warnings, be less verbose as default # Use 'make V=1' to see the full command ...
- iOS9 3DTouch、ShortcutItem、Peek And Pop技术一览
[iOS]iOS9 3DTouch.ShortcutItem.Peek And Pop技术一览 3DTouch UITouch类里API的变化 iOS9中添加的属性 altitudeAngle 当 ...
- PHP学习笔记(5)GD库画验证码
<?php header("content-type:image/png"); $width = 500; $height = 500; $img = imagecreate ...
- [转载] 关于mkvtoolnix批量处理的
需要的工具:mkvtoolnix.记事本 案例介绍:用文件A的视频+文件B的音频+字幕合成新MKV,在文件列表中,按A.B.C顺序排列.其中A与B都是Mkv格式,所以A与B不能放在同一个文件夹中(就算 ...
- libubox-blob/blobmsg
大部分内容来自libubox [3] - BLOB BLOGMSG,推荐阅读原文. blob提供二进制数据处理能力.有几种支持的数据类型,并可以创建块数据在socket上发送.整型数字会在libubo ...
- vim -- 查找和替换
%s/foo/bar/g 在所有行中寻找‘foo’,并且用‘bar’替换 :s/foo/bar/g 在当前行寻找‘foo’,并且用‘foo’替换 :%s/foo/bar/gc 将每一个‘foo',并用 ...