gpt4 book ai didi

java - 正则表达式忽略字符串的一部分 - Java

转载 作者:行者123 更新时间:2023-11-30 07:19:30 26 4
gpt4 key购买 nike

我正在解析一个IP,我不关心任何东西,只关心IP。这是我所拥有的,但我不关心“10”后面的内容,只想知道字符串是否与 IP 匹配:

[0-9]{1,3}\\.[0-9]{1,3}\\.(16|249)\\.10

我可以添加什么来让它忽略其他所有内容?该 IP 每次也将位于字符串的开头。

最佳答案

如果您的字符串以特定 IP 模式开头,并且您使用的是 String#matches(),只需在 10 后面附加一个字边界> 并在其后使用 .*:

"(?s)\\d{1,3}\\.\\d{1,3}\\.(?:16|249)\\.10\\b.*"

添加 (?s) 是为了确保匹配可以包含换行符的整个字符串。

您可以使用 (?!\d) ("(?!\\d)") 代替 \b不允许匹配以 100 结尾的 IP,而不是 10

注意第一部分和第二部分 (\\d{1,3}) 可以通过将其替换为 (?:25[0 -5]|2[0-4][0-9]|[01]?[0-9][0-9]?) 正则表达式看起来像 "(?s) (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5] |2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:16|249)\\.10\\b.*".

关于java - 正则表达式忽略字符串的一部分 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37823026/

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