qq591577286 发表于 2017-3-30 11:17:26

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]
查看完整版本: php正则表达式例子