www.ypnh.net > php 正则

php 正则

. 匹配除 "\n" 之外的任何单个字符 * 匹配前面的子表达式零次或多次 ? 非贪婪匹配 象你上面的那样写的话,和之间不能有换行 若是有换行也要的话还加上一个换行,改成 ([.\n]*?)

这俩根本就不是什么固定形式。前者就是错误的,因为\是转义符,在正则中()是有特殊意义的,必须成对,如果转义了(,那后面的)就没有匹配的(了,所以报错。 ^匹配字符串开始,$匹配字符串结束。+表示前面的字符或分组出现一次以上。

是非贪婪模式 .*会匹配后面的一切字符,就是到结束的意思 加?后就是不贪婪模式,这时要看?后边的字符是什么了,如.*?"的意思是遇到双引号则匹配结束

第一位只能匹配1-9的九个数字,从第二位开始只能匹配数字,总的来说就是匹配所有正整数

举个例子: $s="我想你"; $s=preg_replace("/ (我) / i" , "\\1", $s); 这里面\\1就是字符“我”。 $s=preg_replace("/ (我) / i" , "\\1", $s); echo $s; 结果是 “我”这个字符加粗,正则替换就是这么应用的

正则:

也不知道你要匹配什么\u是个不对的转义字符: preg_match('/[^a-zA-Z0-9_u4e00-u9fa5]+/',$company_name) 这样就OK 如果你是匹配中文加数字加英文字母加_的话,可以试试这个: preg_match('/[^a-zA-Z0-9_^\x00-\x80]+/',$company_name) (UTF-8格...

其实是 \1 因为在 " 双引号里头 所以才写成 \\1 正则表达式里头 有时候会 出现 ( ) 这个是范围符号, \1 代表 第一个 ( ) 里面部分 匹配的 字符串 \2 代表 第二个 ( ) 里面的。。 一般用在正则替换的时候。

如果是连续的随机数 preg_match("/\d+/i",$str,$match); $matches[0] 就是 如果是非连续的 $str = preg_replace("/\D/", “”, $str); $str 就是

\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。 \S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。 关于你上面的代码,我复制粘贴执行的结果是“匹配” 我是windows 8 火狐浏览器

网站地图

All rights reserved Powered by www.ypnh.net

copyright ©right 2010-2021。
www.ypnh.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com