php preg_match方法
2015-03-30 17:36
1371 查看
preg_match方法利用正则表达式,处理一个字符串,将所得结果保存在array对象中,array[0]保存匹配整个正测表达式的串;array[1]保存第一个由小括号括起来的字串,后面依次类推。
如下代码:
运行得到结果如下:
如上,我们得到了match整个表达式的"abc li fi"和括号里"li";如果我们还想得到每一个match的对象在原串中的位置,则可以使用PREG_OFFSET_CAPTURE.
运行,得到
这样,array[i]下的元素变成了array对象,包含2个元素,第二个就是该pattern在原串中的位置。
当然preg_match还可以传offset参数,表示从原串哪个位置开始执行匹配。
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
如下代码:
<?php $pattern = "/abc (li|wang).../"; $arr = array(); $ret = preg_match($pattern, "xx abc li find......", $arr); echo "ret=$ret\n"; var_dump($arr);
运行得到结果如下:
ret=1 array(2) { [0] => string(9) "abc li fi" [1] => string(2) "li" }
如上,我们得到了match整个表达式的"abc li fi"和括号里"li";如果我们还想得到每一个match的对象在原串中的位置,则可以使用PREG_OFFSET_CAPTURE.
<?php $pattern = "/abc (li|wang).../"; $arr = array(); $ret = preg_match($pattern, "xx abc li find......", $arr, PREG_OFFSET_CAPTURE); echo "ret=$ret\n"; var_dump($arr);
运行,得到
ret=1 array(2) { [0] => array(2) { [0] => string(9) "abc li fi" [1] => int(3) } [1] => array(2) { [0] => string(2) "li" [1] => int(7) } }
这样,array[i]下的元素变成了array对象,包含2个元素,第二个就是该pattern在原串中的位置。
当然preg_match还可以传offset参数,表示从原串哪个位置开始执行匹配。
相关文章推荐
- 测试PHP preg_match()函数信息泄露方法介绍
- php preg_match函数和php preg_match_al函数l实例,方法,例子
- win2003下PHP使用preg_match_all导致apache崩溃问题的解决方法
- PHP的preg_match匹配字符串长度问题解决方法
- php分割字符串方法速度比較(substr/sscanf/preg_match)
- php preg_match($p, $str, $match)方法简介
- php使用preg_match()函数验证ip地址的方法
- PHP的preg_match匹配字符串长度问题解决方法
- php小经验:解析preg_match与preg_match_all 函数
- preg_match_2.php
- php小经验:解析preg_match与preg_match_all 函数
- PHP正则表达式preg_match的具体使用规则介绍
- PHP中preg_match_all函数用法使用详解
- php preg_match用法介绍
- javascript 正则匹配 提取所有 preg_match_all matchAll方法
- PHP preg_match_all详解
- php preg_match 正则表达式 介绍
- preg_match_6.php
- PHP 正则表达式匹配 preg_match 与 preg_match_all 函数
- PHP 的 preg_match 和 preg_match_all