试试这样:
<meta\s+name=\s*[\"\']?keywords[\"\']?\s+content=\s*[\"\']?[^>]+[\"\']?\s*[\/]?\s*>未测试! 
不过有两种情况:
  一种是name在前,content在后
  另一种是content在前,name在后

解决方案 »

  1.   

    谢谢
    能否给我个QQ或EMAIL还有一点正则表达式请教,
    不知道为什么我提这种问题怎么回答的人这么少,只有你一个,
    你写的这个表达式很健壮,用GREEDY也可以匹配的到,你在
    content=\s*["']?([^>]+)["']?\s*[\/]?\s*> 中的[\/]?为什么要加进去呢
      

  2.   

    content=\s*["']?([^>]+)["']?\s*[\/]?\s*> 中的[\/]?为什么要加进去呢因为xhtml中非close标签要加/>来close,meta就成这样了
    <meta http-equiv="pragma" content="no-cache"/>
    加[\/]?来匹配xhtml的close标记