Java 正则表达式 截取以空格或换行结尾的字符串

有一字符串 想截取http://地址

假如有一字符串,从数据库中取出的
“啊啊啊啊啊啊啊 https://192.168.0.102/relativeEventDetail.do?mode=view&id=895
https://192.168.0.102/relativeEventDetail.do?mode=view&id=844”

这个字符串中两个https地址是换行的

现要截取https://192.168.0.102/relativeEventDetail.do?mode=view&id=895和https://192.168.0.102/relativeEventDetail.do?mode=view&id=844这两个

用Java 正则表达式 该如何做呢

String regex = "(http://|https://){1}.+?[[\r\n]|\s*$]";我用这个 不懂哪里错了 老是不行

呜呜 我快崩溃了

求解脱!!!

1个回答

看看是否符合要求?(测试取到了两个URL)

String s = "啊啊啊啊啊啊啊 https://192.168.0.102/relativeEventDetail.do?mode=view&id=895\nhttps://192.168.0.102/relativeEventDetail.do?mode=view&id=844";
Pattern p = Pattern.compile("((https|http)://\S{1,})\s*");
Matcher m = p.matcher(s);
while(m.find())
{
System.out.println(m.group(1));
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问