gpt4 book ai didi

java - 正则表达式 - 堆栈跟踪 - 匹配除 java 包名称之外的所有网站地址

转载 作者:行者123 更新时间:2023-12-02 05:11:26 25 4
gpt4 key购买 nike

我想出了一个正则表达式,可以匹配没有开头的 http://或 https://的网站。现在,我尝试在堆栈跟踪上执行此操作,我希望它仅捕获实际网站,但正则表达式也捕获格式为 com.abc.xyz 的 java 类名。

一般来说,所有这些都前面有 at (或) is,我需要帮助编写否定前瞻。或者,如果我们在前面看到 com 或 org,我们也可以消除它。

现在,我有了这个正则表达式。 (?!at) [a-z\.-]*\.(com|net|org|edu|gov|mil|us|uk|au|in|ca|eu|ke)我不知道如何添加“at”作为否定前瞻。这只是捕获 a/t 中的一个单词。

几个例子,

client.DefaultHttpClient:连接到 {} 时捕获 I/O 异常 (org.apache.http.conn.ConnectTimeoutException) -> 连接到 scn.sap.com 超时 ==> 给出 scn.sap.com

但是这个在 java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) 返回 java.net 我不希望它返回。

你能帮我完成第一部分吗?

提前致谢。

最佳答案

由于您知道 at 出现在行的开头,因此请专门排除它。然后进行非贪婪向前搜索,直到找到匹配模式:

^(?!^at).*? ([a-z\.-]*\.(?:com|net|org|edu|gov|mil|us|uk|au|in|ca|eu|ke))

您可以使用给定的示例文本 at regex101.com here 来查看这一点.

关于java - 正则表达式 - 堆栈跟踪 - 匹配除 java 包名称之外的所有网站地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27302133/

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