php正则表达式例子
* 判断字符串是否包含某个单词(例如单词aa)print preg_match("/\baa\b/", " aa ")."\n"; //1
print preg_match("/\baa\b/", "baa ")."\n"; //0
元字符\b表示单词的边界。
* 判断一个字符串表示的是否是十进制数字
print preg_match("/^-?\d+$/", "-3")."\n"; //1
print preg_match("/^-?\d+$/", "0")."\n"; //1
print preg_match("/^-?\d+$/", "-a0")."\n"; //0
print preg_match("/^-?\d+$/", "a0")."\n"; //0
*获取一篇html文档的title的内容
if(preg_match("/<title>(.*)<\/title>/si", $str, $matches)){
print $matches; //一篇htnl文档的title的内容
}
*获取网址中的域名
if(preg_match("/https?:\/\/([^\/]*)\//", $str, $matches)){
print $matches;
}
*匹配html的标签
$matches是标签的名字;
$matches是标签的属性;
$matches是标签的内容;
if(preg_match("/<(*)([^>]*)>(.*?)<\/\\1>/i", "<h1 style='color:red'>hello</h1>", $matches)){
print_r($matches);
}
*删除相邻的重复单词
相邻相同的n个单词变成了n-1个,有办法变成1个不?
print preg_replace("/\b(\w+)\s+(?:\\1\b)/", "\\1", "the the a a b b b");
*匹配长度为6且包含有cat的单词
向后查看的应用
print preg_match("/(?=\b\w{6}\b)\b\w*cat\w*\b/", "aacata")."\n";
print preg_match("/(?=\b\w{6}\b)\b\w*cat\w*\b/", "aacatad")."\n";
print preg_match("/(?=\b\w{6}\b)\b\w*cat\w*\b/", "aacat")."\n";
页:
[1]