gpt4 book ai didi

java - 使用java正则表达式在管道内查找匹配项

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

如何获取管道内字符串的内容?

|qwe|asd|zxc|

我怎样才能得到

qwe asd zxc

我试过了

"\\|{1,}(\\w*)\\|{1,}"

但似乎不起作用

我也尝试过这个

"\\|{1,}[\\w*]\\|{1,}"

它只返回 qwe

最佳答案

为此不需要正则表达式,但如果您坚持使用正则表达式:

Pattern p = Pattern.compile("\\|?(\\w+)\\|");
Matcher m = p.matcher("|qwe|asd|zxc|");
while (m.find()) {
System.out.println(m.group(1));
}

/* outputs:
qwe
asd
zxc
*/
<小时/>

为什么你的正则表达式不起作用:

/\|{1,}(\w*)\|{1,}//\|(\w*)\|/ 类似它匹配管道之间的单词。

现在,在示例字符串中,第一个匹配项是 |qwe|

然后它继续在 asd|zxc| 中查找匹配项;根据模式,它会跳过 asd 并仅匹配 |zxc|

您可以通过将前面的管道设置为可选来解决此问题。

关于java - 使用java正则表达式在管道内查找匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8178539/

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