正则需求如下,有一个字符串,字符串为html页面,要求检索html标签中,如href,src等,如果地址不包含http|https则自动添加上http,比如
String s = "<html><a href=\"www.baidu.com\">测试</a></html><img src=\"www.test.com/1.jpg\">";
替换为
String s1 = "<html><a href=\"http://www.baidu.com\">测试</a></html><img src=\"http://www.test.com/1.jpg\">"
或者类似这样的"://...." 替换为"http://...",总之就是html中的所有地址替换为标准地址,如果本身为标准地址则不替换
String s = "<html><a href=\"https://www.baidu.com\">测试</a></html><img src=\"www.test.com/1.jpg\">";
s = s.replaceAll("(href|src)=\"(?!http)(.+?)\"", "$1=\"http://$2\"");
System.out.println(s);
这个是java语言的,其中
"(href|src)=\"(?!http)(.+?)\""
是正则表达式,
在支持正则的语言中都可以
希望可以帮到你....
javascript : var s = '测试'; s = s.replace(/(href|src)="(?!http)(.+?)"/g, '$1="http://$2"'); alert(s); s = '测试'; s = s.replace(/(href|src)="(?!http)(.+?)"/g, '$1="http://$2"'); alert(s);