Java:RegEx检查字符串中的http链接
我需要检查字符串中是否有http链接,但我还不知道如何做到这一点。我知道我可以检查一个链接是否是有效的http链接,如下所示Java:RegEx检查字符串中的http链接,java,regex,Java,Regex,我需要检查字符串中是否有http链接,但我还不知道如何做到这一点。我知道我可以检查一个链接是否是有效的http链接,如下所示 boolean valid = myString.matches("^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"); 我在这里看到了它,如果字符串只是链接,没有空格和其他单词,它就可以工作,但我想让正则表达式检查句子中的http链接,其中可能包含空格和更多单词,我尝试了下
boolean valid = myString.matches("^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]");
我在这里看到了它,如果字符串只是链接,没有空格和其他单词,它就可以工作,但我想让正则表达式检查句子中的http链接,其中可能包含空格和更多单词,我尝试了下一个:
boolean valid = s.matches(".*\\s+^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|].*$")
但我不明白,我真的不太了解regex,所以我非常感谢任何帮助
先谢谢你
.*(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|].*$
翻译成:
(任意字符)超链接(任意字符)
你可以用你自己的一些字符串来测试它。可能是重复的否,不是真的,正则表达式非常不同,我不想在源代码中提取任何html标记链接,而是在任何纯文本句子中提取http链接,非常不同。