Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:RegEx检查字符串中的http链接_Java_Regex - Fatal编程技术网

Java:RegEx检查字符串中的http链接

Java:RegEx检查字符串中的http链接,java,regex,Java,Regex,我需要检查字符串中是否有http链接,但我还不知道如何做到这一点。我知道我可以检查一个链接是否是有效的http链接,如下所示 boolean valid = myString.matches("^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"); 我在这里看到了它,如果字符串只是链接,没有空格和其他单词,它就可以工作,但我想让正则表达式检查句子中的http链接,其中可能包含空格和更多单词,我尝试了下

我需要检查字符串中是否有http链接,但我还不知道如何做到这一点。我知道我可以检查一个链接是否是有效的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链接,非常不同。