正则表达式大比拼

sirch 2003-12-29 04:06:30
需求:利用正则表达式找寻出一html页面当中所有的<meta ...>标记,比如:<meta name="keywords" content="java">或:<meta content="java and sun" name="description">等等(不单只是含有此两种属性的meta标记)。注意:属性值中有可能包含有中文等字符。看谁能写出最好的正则表达式。
JDK : 1.4 或以上
...全文
68 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
ngqzmjmj 2004-01-03
  • 打赏
  • 举报
回复
如果照你说的
我想仅仅靠正则表达是解决不了的

如果你能实现了 记得给我发邮件
NGQLILI.163.COM^-^
再说了如果你用过JAVA正则表达式
我写的应该可以应付<META ***** >里面的任何字符
sirch 2004-01-03
  • 打赏
  • 举报
回复
大家应该用过Dreamweaver吧,不管是属性名,或者是属性值含有什么样的字符,它都能够准确的分辨出来。我需要的就是这种效果。要不然,一个普通的只能解决特定问题的正则表达式,于我何用?
easydozer 2004-01-01
  • 打赏
  • 举报
回复
good
along603 2004-01-01
  • 打赏
  • 举报
回复
o
ngqzmjmj 2004-01-01
  • 打赏
  • 举报
回复
属相值是不是中文的好象关系不大
jokerjava 2003-12-31
  • 打赏
  • 举报
回复
特定正则表达式是解决特定的问题的

要是找每个正则表达式的弱点

干脆不用正则表达式算了
lynx1111 2003-12-31
  • 打赏
  • 举报
回复
gz
stars_of_leo 2003-12-31
  • 打赏
  • 举报
回复
gz
ngqzmjmj 2003-12-31
  • 打赏
  • 举报
回复
String str="\\s*<\\s*meta([^>]|(>\"))*\\w*>";
ngqzmjmj 2003-12-31
  • 打赏
  • 举报
回复
String str="\\s*<\\s*meta([^>]|(>\"))*\\w*>";
ngqzmjmj 2003-12-30
  • 打赏
  • 举报
回复
可以结贴
给分了
sirch 2003-12-30
  • 打赏
  • 举报
回复
何况属性值还有可能是含有中文字符,你试试看你的正则表达式能否匹配通过?呵呵。^_^
sirch 2003-12-30
  • 打赏
  • 举报
回复
如果:
<meta name="Description" content="java<sun>">
抑或是:
<meta name="Description" content="java" />呢?
jokerjava 2003-12-29
  • 打赏
  • 举报
回复
楼上的正确
ngqzmjmj 2003-12-29
  • 打赏
  • 举报
回复
如果只是检索出<meta ....>里的属性

用第一个就可以

第二个 是检索 属性 的
ngqzmjmj 2003-12-29
  • 打赏
  • 举报
回复
建议使用两个正则表达式
String str1="<\\s*meta\\s+([^>]*)\\s*>";
String str2="([a-z]+)\\s*=\\s*\"([^\"]+)\"";
System.out.print(str2);
Pattern p=Pattern.compile(str1).compile(str2);
yujiebo025 2003-12-29
  • 打赏
  • 举报
回复
<\s*meta\s+.*>
说明:
<
\s* 可选的空格
meta
\s+ 必要的空格
.* 任意数量任意字符
>

初学不知道对不对,高手指点

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧