gpt4 book ai didi

java - 获取两个字符之间的子字符串

转载 作者:行者123 更新时间:2023-11-29 10:15:45 25 4
gpt4 key购买 nike

如何构建正则表达式以返回 < 之间的字符和 @一个字符串?

例如<1001@10.2.2.1>将返回 1001。

会不会使用 <.?>工作?

最佳答案

Would something using "<.?>" work?

它的一个稍微修改的版本可以工作:<.*?@ (你需要一个 @ 在最后,你需要一个不情愿的量词 *? 来代替可选标记 ? )。然而,由于 backtracking,它可能效率低下.这样的事情会更好:

<([^@]*)@

此表达式以查找 < 开始,采取尽可能多的非@字符,并捕获 @停止前。

括号表示捕获组。使用正则表达式 API 提取它:

Pattern p = Pattern.compile("<([^@]*)@");
Matcher m = p.matcher("<1001@10.2.2.1>");
if (m.find()) {
System.out.println(m.group(1));
}

这会打印出 1001 (demo)。

关于java - 获取两个字符之间的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18473107/

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