gpt4 book ai didi

java - 将模式与 java 中的子域进行匹配的正则表达式会出现问题

转载 作者:行者123 更新时间:2023-12-01 19:00:27 25 4
gpt4 key购买 nike

我正在尝试使用 http://([a-z0-9]*.)?example.com/.* 匹配网址的子域,这非常适合这些情况.

http://example.com/index.html
http://test.example.com/index.html
http://test1.example.com/index.html
http://www.example.com/122/index.html

但问题是它也与这个 URL 匹配。 http://www.test.com/?q=http://example.com/index.html

如果具有另一个域的 URL 在其匹配的路径中具有 URL。任何人都可以告诉我如何仅匹配当前域。获取主机可以工作,但我需要匹配完整的 URL。

最佳答案

您知道 . 可以匹配任何字符吗?

如果您使用正则表达式

http://([a-z0-9]*\.)?example\.com/.*

(或者,作为 Java 字符串)

"http://([a-z0-9]*\\.)?example\\.com/.*"

它应该可以工作,因为现在 ?q= 部分将不匹配。

这假设您使用 .matches() 方法强制整个字符串匹配。否则,请在正则表达式的开头添加 ^

关于java - 将模式与 java 中的子域进行匹配的正则表达式会出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12445818/

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