很多站长朋友们都不太清楚php匹配正则的函数,今天小编就来给大家整理php匹配正则的函数,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php匹配正则表达式 2、 php哪种正则匹配函数最省资源 3、 PHP正则表达式基本函数 4、 php 正则中 这个表示什么 /\ 5、 php 正则表达式 url匹配 6、 php 哪个函数返回正则匹配结果 php匹配正则表达式<?php
$content = "ad你好asd/dasds*@~as/d,.^asdasda.jpg,11/das,看看ds*~as/d.^asdasda.jpg,11/dd,s*~as/d,.^asda.png";
if(preg_match_all("/[^,][\w\W]+?.(jpg|gif|png)/s", $content, $matches)){
var_dump($matches[0]);
}
?>
php哪种正则匹配函数最省资源字符串操作函数比正则匹配函数省资源
php正则匹配函数中preg稍稍比ereg快
因为在PHP5.3里边ereg要被preg代替了,都不用ereg了,肯定是preg省资源
一样的匹配函数中,少回朔的表达式比较最省资源,所以优化表达式是必须的。
PHP正则表达式基本函数在PHP正则表达式中需要转义的字符如下
$^*()+={}[]|/:<> ? "
注意 perl风格中表达式要求以/开始和结尾 如 /food/ 表匹配字符 food
perl修饰符如下
i 完成不区分大小写的搜索
g 查找所有出现(all occurrences 完成全局搜索)
m 将一个字符串视为多行(m就表示多(multiple)) 默认情况下 ^和$字符匹配字符串中的最开始和最末尾 使用m修饰符将使^和$匹配字符串中每行的开始
s 将一个字符串视为一行 忽略其中的所有换行符;它与m修饰符正好相反
x 忽略php正则表达式中的空白和注释
U 第一次匹配后停止 默认情况下 将找到最后一个匹配字符结果 利用这个修饰符可以在第一次匹配后停止 进而形式循环匹配
元字符说明
利用Perl正则表达式还可以做另一件有用的事情 这就是使用各种元字符来搜索匹配 元字符(metacharacter)就是一个前面有反斜线的字母字符 表示某种特殊含义 以下是一些有用的元字符
A 只匹配字符串开头
b 匹配单词边界
B 匹配单词边界之外的任意字符
d 匹配数字字符 它与[ ]相同
D 匹配非数字字符的php正则
s 匹配空白字符
S 匹配非空白字符的php正则
[] 包围一个字符类 字符类包括 [ ] [a z] [a zA Z] 等类似
() 包围一个字符分组或定义一个反引用
$ 匹配行尾
^ 匹配行首
* 匹配前面的子表达式零次或多次 要匹配 * 字符 请使用 *
+ 匹配前面的子表达式一次或多次 要匹配 + 字符 请使用 +
? 匹配前面的子表达式零次或一次 或指明一个非贪婪限定符 ?
匹配除换行之外的任何字符
引出下一个元字符
w 匹配任何只包含下划线和字母数字字符的字符串 它与 [a zA Z _]相同
W 匹配没有下划线和字母数字字符的字符串的php正则
Perl风格函数有
array preg_grep(string pattern array input [ flags])
搜索数组中所有元素 返回由与某个模式匹配的所有元素组成的数组
PHP 增加了一个可选参数 flag 它接受一个值 PREG_GREP_INVERT 传递此标志将得到与该模式不匹配的数据元素
int preg_match(string pattern string string [ array matches [ int flags [ int offset]]])
在字符串中搜索模式 如果存在返回TRUE 否则返回FALSE
可选输入参数matches可以包含搜索模式中包含的子模式的各个部分 默认返回 匹配的字符串 当有()子包围时 会在数组后面输出
int preg_match_all(string pattern string string array pattern_array [ int order])
和函数 preg_match一样 不过 preg_match 只搜索一次 而 preg_match_all 会执行循环搜索 返回所有匹配的结果
mixed preg_replace(mixed pattern mixed replacement mixed str [ int limit])
用replacement替换pattern的所有出现 并返回修改后的结果
可选 limit 指定应当发生多少次匹配 不设置limit或设置为 将替换所有出现的情况
lishixinzhi/Article/program/PHP/201311/21050
php 正则中 这个表示什么 /\你好,preg_match函数是php内置的一个正则匹配函数,它的匹配规则必须加上前后/;比如我要匹配字符a 可以这样写 preg_match('/a/',$url); 而你那个是 /\</i 里面的\是个转义字符(特殊字符需要转义)而i表示忽略大小写,其实按照你的这个匹配要求可以不用写i ;自然你这个的意思就是匹配<
如果$url这个字符串中包含<则返回1否则返回0(preg_match(pattern,$url)返回 pattern 的匹配次数。 它的值将是0次(不匹配)或1次,因为preg_match()在第一次匹配后 将会停止搜索)
php 正则表达式 url匹配1,preg_grep(pattern,array);它的返回值是一个新数组,新数组的元素是成功匹配的元素。
2,preg_match(mode,string);它的返回值是一个整数,0或1,0表示匹配不成功,1表示匹配成功,preg_match()将在第一个匹配成功后停止搜索,不再继续匹配。
3,preg_match_all(模式,字符串,保存匹配结果数组(multidimensional array));在搜索字符串中,所有匹配的模式都提供正则表达式的匹配结果,并以指定的顺序将它们输出到指定的数组。它执行与字符串末尾匹配的全局正则表达式匹配。
4,preg_quote(string);转义正则表达式字符,preg_quote()需要一个参数字符串,并在每个正则表达式语法中为该字符添加反斜杠。
5,转换效果如图所示。
php 哪个函数返回正则匹配结果不是很明白,如果你直接要这个名的结果,直接输出不就行了吗?
$preg="/黑龙江/";
$a1="我的大学在黑龙江";
preg_match($preg,$a1,$result);
echo $result[0];
关于php匹配正则的函数的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php匹配正则的函数 phpemail正则的详细内容...