gpt4 book ai didi

java - 两个符号之间的正则表达式文本

转载 作者:行者123 更新时间:2023-11-30 03:45:32 25 4
gpt4 key购买 nike

我有一个文本,我想用正确的值替换其中的变量,并且我的变量位于两个@之间。当我使用 [/(?m)@.*?@/] 获取这些文本时,它还会返回第一个和最后一个 @ 之前和之后的文本。我怎样才能只在这两个@符号之间获取文本。提前致谢。我在Java中使用String.split("")方法。例如我想在以下字符串上使用:

this is @the best@ possible way @t@o do result!!!

我想得到这两个结果:

the best

t

最佳答案

在 Java 中,您可以使用此正则表达式来获取第一个和第二个 @ 之间的值:

String repl = input.replaceFirst("(?m)^[^@]*@([^@]*)@.*$" "$1");

要获取第一个和最后一个@之间的值:

String repl = input.replaceFirst("(?m)^[^@]*@(.*?)@[^@]*$" "$1");

要查找多个匹配项,请使用PatternMatcher:

Pattern p = Pattern.compile("@([^@]*)@"):
Matcher m = p.matcher(p);
while (m.find()) {
System.out.prinln(m.group(1));
}

RegEx Demo

关于java - 两个符号之间的正则表达式文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25830693/

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