我在正则表达式中非常虚弱,我使用的正则表达式(从网上找到)只能部分解决我的问题。我需要使用java将文本输入中的锚点标记添加到URL中。这里是我的代码:正则表达式只匹配URL的一部分 - 为什么?
String text ="Hi please visit www.google.com";
String reg = "\\b(([\\w-]+://?|www[.])[^\\s()<>]+(?:\\([\\w\\d]+\\)|([^[:punct:]\\s]|/)))";
String s = text.replaceAll(reg, "<a href='$1'>$1</a>");
System.out.println(""+s);
输出目前Hi please visit <a href='www.google.c'>www.google.c</a>om
。正则表达式有什么问题?
我需要解析一个文本,并显示从文本字段输入的URL作为jsp页面中的热链接。预计实际产量将
Hi please visit <a href='www.google.com'>www.google.com</a>
编辑
以下的正则表达式
(http(s)?://)?(www(\.\w+)+[^\s.,"']*)
作品就像在.com
结尾的网址魅力,但在像.jsp
。就是有什么办法其他扩展失败因为它在各种扩展中工作?
我都是使用'regex',但你为什么要用它呢? –