gpt4 book ai didi

Java正则表达式仅匹配不带协议(protocol)和www的URL

转载 作者:行者123 更新时间:2023-12-01 13:14:29 25 4
gpt4 key购买 nike

我需要一个相当贪婪的正则表达式,它积极匹配不以任何协议(protocol)(例如“http://”或“ftp://”)开头的字符串,同时不匹配以“”开头的字符串www”(当然,或者两者结合)。我对 Java 和正则表达式相当陌生,但我已经设法弥补了这个(这对我不起作用):

([\w'-]+)\.(com|info|net|org).+

但是它似乎与“example.com”不匹配。它似乎匹配“example.com/index.php?q=somequery#something”。我真的不明白如何创建一个正则表达式,如果字符串以一系列字符开头(在我的例子中为“www”或“http://”),则该正则表达式不会给出匹配项。

感谢任何帮助。

(P.S 我曾尝试寻找这个问题的骗局,但我找不到与此问题完美匹配的问题。如果这是一个骗局,我非常抱歉。)

最佳答案

您的正则表达式末尾有 .+ 。这意味着除\n 之外的任何字符(1 次或多次)

但是您的示例 example.com.com 之后没有任何内容。这就是您的正则表达式与示例不匹配的原因。

.+ 替换为 .* ,它将适合您。仅供引用,.* 表示除\n 之外的任何字符(0 次或多次)

关于Java正则表达式仅匹配不带协议(protocol)和www的URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22583332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com