gpt4 book ai didi

java - 如何通过正则表达式分割字符串

转载 作者:行者123 更新时间:2023-12-02 04:20:18 25 4
gpt4 key购买 nike

我想通过正则表达式在字符“@”和字符列表([,.!?{} ])之间分割文本。例如,我有下一个文本

@test, @{@test2, dasdas. @test3?} @test4? @test5!

我想获取下一个数组:

  1. test
  2. test2
  3. test3
  4. test4
  5. test5

我尝试使用下一个正则表达式

/@(.*?)[,{} !?.]/

但它返回不正确的数组。
有人可以帮助我吗?

最佳答案

您所需要的只是匹配 @,然后使用 \w+ 匹配并捕获 1 个或多个字母数字符号:

@(\w+)

参见regex demo

结果:

test
test2
test3
test4
test5

在 Java 中,您可以简单地匹配子字符串:

String s = "@test, @{@test2, dasdas. @test3?} @test4? @test5!";
Pattern pattern = Pattern.compile("@(\\w+)");
Matcher matcher = pattern.matcher(s);
while (matcher.find()){
System.out.println(matcher.group(1));
}

参见IDEONE demo (或 another demo 将结果存储在数组中)。

关于java - 如何通过正则表达式分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32846086/

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