>  기사  >  백엔드 개발  >  php知识点温习之正则表达式

php知识点温习之正则表达式

WBOY
WBOY원래의
2016-06-13 10:40:35794검색

php知识点复习之正则表达式

//正则表达式的技术知识


// []定义字符集和 example [a-z] [A-Z] [0-9] [\f\r\n\t]


//定位符^[A-Z][0-9]$开头结尾


//量词 * + ? {n} {m,n} {n.}指的都是重复次数


//选择 |


//可打印字符:ASCII中33-127表示的字符,就是我们看得见的符号 空格,删除,回车,取消等等就典型的是不可打印字符


//POSOX正则表达式
//常用函数
echo "
";
$b4 = "abc";
$pattern = "[[:alpha:]]";
echo ereg($pattern,$b4);
//输出1
//eregi() 无符号的


$b7 = "asd&[email protected]&adfdf";

$pattern1 = "&";
$pattern2 = "[&@]";
print_r(split($pattern1,$b7));
print_r(split($pattern2,$b7));


echo "
";
$b8 = "helloworld";
$pattern3 = "world";
$replacement1 = "persion";
echo ereg_replace($pattern3,$replacement1,$b8);


echo "
";
echo sql_regcase("abcdefg");
//输出:[Aa][Bb][Cc][Dd][Ee][Ff][Gg]


//Perl 正则表达式 perl是在支持posix的基础上额外的扩展 \d数字 \D非数字 \s空白 \S非空白 \w字母数学符号下划线 \W非字母数字符号下划线

//常用函数array preg_grep ( string pattern, array input )
echo "
";
$w1 = array("adad","adad4","asda","1asf3","sdfs");
$fl_array = preg_grep ("/^\D{1,}$/", $w1);//此处强调一点{1,}而不是posix中的{1.}
print_r($fl_array);


echo "
";
echo preg_match ("/a/","abc");
//输出1


echo "
";
//\b表示单词的边界
if (preg_match ("/\bweb\b/i", "PHP is the web scripting language of choice.")) {
print "A match was found.";
} else {
print "A match was not found.";
}


if (preg_match ("/\bweb\b/i", "PHP is the website scripting language of choice.")) {
print "A match was found.";
} else {
print "A match was not found.";
}
//尤其是在匹配电子邮箱是常用


echo "
";
$pattern5 = "/[\*]+/";
$w3 = "aaa***bbb*ccc";
print_r(preg_split($pattern5,$w3));


echo "
";
$pattern6 = "/world/";
$content2 = "girl";
$tre = "hello world";
echo preg_replace($pattern6,$content2,$tre);


//string preg_quote ( string str [, string delimiter] )转义
echo "
";
$keywords = "$40 for a g3/400";
$keywords = preg_quote ($keywords, "/");//此处的/若是不加,就不会转义g3/400中的/;
echo $keywords;

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.