您的位置:

php正则技巧(php正则表达式语法)

本文目录一览:

php 怎么使用正则

/**

通用正则

参数:

正则,模式,字符串

说明:

通用正则处理函式,可以用来获取,替换,检查内容

返回:

匹配到的内容或Boolean值

用法:

使用之前先把引号之类的替换乾净

$html=Fun::_file_get_contents('');$html=strtr($html,array("'"='','"'=''));

var_dump(Fun::Preg("title(.*)",'one',$html)); //抓取一条内容

var_dump(Fun::Preg("/ href=(.[^ ]*)/i",'arr',$html)); //抓取内容列表

echo Fun::Preg("abc|cde",'rep',$html); //把内容替换掉

if(Fun::Preg(" href=.[^'\" ]*",'chk',$html)){ //判断是否存在

echo 'true';

}

//匹配所有的href

$href=Fun::Preg('/ href=["|\']?([^"\' ]+)["|\']?/i','arr',$html);

/**/

public static function Preg($r,$t,$html){

switch(strtolower($t)){

case 'arr':

preg_match_all("{$r}",$html,$arr,PREG_PATTERN_ORDER);

return $arr;

break;

case 'one':

preg_match("/{$r}/iU",$html,$arr);

return $arr;

break;

case 'rep':

return preg_replace("/{$r}/i",'',$html);

break;

case 'chk':

return preg_match("/{$r}/iU",$html);

break;

default:

return FALSE;

}

}

php 正则 来高手

在正则表达式中,\ 是个特殊符号,代表转义符。

比如, 如果你希望匹配一个"*"字符, 就需要在模式中写为"\*",如果要匹配一个反斜线, 那么在模式中使用”\\”。

在表达式 \为什么,([0-9]{1,6}),([0-9]{1,6} 中的 \ 没有发生作用,因为在正则表达式中,\ 要与字母或数字才能代表这是个正确的转义,因此,能够匹配“为什么”。

而在 /\bbs,([0-9]{1,6}),([0-9]{1,6})/ 中,\b 在正则表达式中表示单词边界,因此不能匹配bbs

php 使用正则表达式是否具有优势和缺点?

优点:

正则表达式可以处理比较复杂的文本数据处理如匹配、替换、分割,比着php中的原生字符串函数功能更强,比如处理url,处理文本,验证规则

缺点:

有强大的功能,但是处理速度比着原生字符串函数要慢

原则上能用原生的函数不用php中正则表达式

PHP 正则问题

1.正则式应该为/\\\\/,\\\\被字符串转移后变成\\,再被正则转义变成\

2.默认preg正则是贪婪的,也就是说.,*,+之类的会匹配尽可能多的字符。可以在正则式后加上U标志使整个正则式非贪婪。具体请百度“正则 贪婪”