社区
Java SE
帖子详情
正则表达式问题--在线等待
一峰还有一峰小
2003-09-16 03:33:50
我使用java的regex,想获得web页面上所有的链接,我的模式串为:
<a(\\s|\r|\n)+href[\\s]*=[\\s]*('|\")?[^'\"\\s>]+('|\")?(\\s|>|#)
但是有问题,谁能给我帮助?谢谢!
...全文
16
7
打赏
收藏
正则表达式问题--在线等待
我使用java的regex,想获得web页面上所有的链接,我的模式串为: ]+('|\")?(\\s|>|#) 但是有问题,谁能给我帮助?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
scbb
2003-09-16
打赏
举报
回复
java.util.regex.Pattern p = java.util.regex.Pattern.compile("<[Aa][\\s]*(href|HREF)[\\s]*=[\\s]*['\"].+['\"].*>");
RobertDeNiro
2003-09-16
打赏
举报
回复
如果你是想匹配<a href=http>**</a>的话,我看不出你的模式串的作用,其实匹配html中的<a href=http>**</a>连接的话试试<\\s*a\\s+href\\s*=\\s*.*\\s*>
一峰还有一峰小
2003-09-16
打赏
举报
回复
我快要昏倒啦!
如何写一个模式串匹配web页面上的链接?
toplchx
2003-09-16
打赏
举报
回复
你在哪里用的这个regex?
ponky
2003-09-16
打赏
举报
回复
不知道。来看看
一峰还有一峰小
2003-09-16
打赏
举报
回复
用法我已经会了,我是说,我的模式串有时不能找到所有链接,谁能
给我一个模式串?
谢谢!
mtou
2003-09-16
打赏
举报
回复
jdk1.4中加入了java.util.regex包提供对正则表达式的支持。而且Java.lang.String类中的replaceAll和split函数也是调用的正则表达式来实现的。
正则表达式对字符串的操作主要包括:字符串匹配,指定字符串替换,指定字符串查找和字符串分割。下面就用一个例子来说明这些操作是如何实现的:
<%@ page import="java.util.regex.*"%>
<%
Pattern p=null; //正则表达式
Matcher m=null; //操作的字符串
boolean b;
String s=null;
StringBuffer sb=null;
int i=0;
//字符串匹配,这是不符合的
p = Pattern.compile("a*b");
m = p.matcher("baaaaab");
b = m.matches();
out.println(b+"<br>");
//字符串匹配,这是符合的
p = Pattern.compile("a*b");
m = p.matcher("aaaaab");
b = m.matches();
out.println(b+"<br>");
//字符串替换
p = Pattern.compile("ab");
m = p.matcher("aaaaab");
s = m.replaceAll("d");
out.println(s+"<br>");
p = Pattern.compile("a*b");
m = p.matcher("aaaaab");
s = m.replaceAll("d");
out.println(s+"<br>");
p = Pattern.compile("a*b");
m = p.matcher("caaaaab");
s = m.replaceAll("d");
out.println(s+"<br>");
//字符串查找
p = Pattern.compile("cat");
m = p.matcher("one cat two cats in the yard");
sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, "dog");
i++;
}
m.appendTail(sb);
out.println(sb.toString()+"<br>");
out.println(i+"<br>");
i=0;
p = Pattern.compile("cat");
m = p.matcher("one cat two ca tsi nthe yard");
sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, "dog");
i++;
}
m.appendTail(sb);
out.println(sb.toString()+"<br>");
out.println(i+"<br>");
p = Pattern.compile("cat");
m = p.matcher("one cat two cats in the yard");
p=m.pattern();
m = p.matcher("bacatab");
b = m.matches();
out.println(b+"<br>");
s = m.replaceAll("dog");
out.println(s+"<br>");
i=0;
p = Pattern.compile("(fds){2,}");
m = p.matcher("dsa da fdsfds aaafdsafds aaf");
sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, "dog");
i++;
}
m.appendTail(sb);
out.println(sb.toString()+"<br>");
out.println(i+"<br>");
p = Pattern.compile("cat");
m = p.matcher("one cat two cats in the yard");
sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, "<font color=\"red\">cat</font>");
}
m.appendTail(sb);
out.println(sb.toString()+"<br>");
String aa=sb.toString();
out.println(aa+"<br>");
//字符串分割
p = Pattern.compile("a+");
String[] a=p.split("caaaaaat");
for(i=0;i<a.length;i++)
{
out.println(a[i]+"<br>");
}
p = Pattern.compile("a+");
a=p.split("c aa aaaa t",0);
for(i=0;i<a.length;i++)
{
out.println(a[i]+"<br>");
}
p = Pattern.compile(" +");
a=p.split("c aa aaaa t",0);
for(i=0;i<a.length;i++)
{
out.println(a[i]+"<br>");
}
p = Pattern.compile("\\+");
a=p.split("dsafasdfdsafsda+dsagfasdfa+sdafds");
out.println(a.length+"<br>");
for(i=0;i<a.length;i++)
{
out.println(a[i]+"<br>");
}
%>
浅谈JavaScript
正则表达式
-非捕获性分组
非捕获性分组定义子表达式可以作为整体被修饰但是子表达式匹配结果不会被...以上这篇浅谈JavaScript
正则表达式
-非捕获性分组就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
ng-pattern-restrict:对于 AngularJS,仅允许基于
正则表达式
模式的某些输入
这与屏蔽输入的工作方式类似,不同之处在于不显示掩码,并且验证是针对
正则表达式
完成的,这允许您在需要时允许复杂的值类,或者如果这是您的需要,则可以非常具体必要性。 它是如何工作的? 逻辑很简单: 初始化...
Javascript
正则表达式
测试网页
你平时如何测试
正则表达式
?直接写在大段的代码中,然后
等待
程序运行到那里,再用alert显示结果?或者是临时写一个页面,测试完成后把它丢掉? 你可以试一下我这个页面,虽然它很粗糙,但是测试
正则表达式
也足够了:...
tre:近似
正则表达式
匹配库和agrep命令行工具
介绍TRE是一个轻量,健壮和高效的POSIX兼容
正则表达式
匹配库,具有一些令人兴奋的功能,例如近似(模糊)匹配。 TRE中使用的匹配算法在要搜索的文本长度中使用线性最坏情况时间,在所使用的
正则表达式
的长度中使用二...
spawn-wait-for:生成并
等待
该过程输出与
正则表达式
匹配的行
产生
等待
生成并
等待
该过程输出与
正则表达式
匹配的行。安装npm install --save spawn-wait-for用法var spawnWaitFor = require ( 'spawn-wait-for' ) ;spawnWaitFor ( 'fakeServer' , / server is running / ) . ...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章