0

我需要在下面的字符串中获取所有以(空格)开头@和结尾的 字符串(非空) ' '

String s = "@test1 @test2 @test3  @test4 @@ @test5";

我希望我能得到所有"test1", "test2", "test3", "test4", "test5"的字符串。

如何用 java regx 做到这一点?多谢!

4

3 回答 3

1

您可以使用以下正则表达式

@\w+

\w类似于[a-zA-Z\d_]

\w+匹配 1 到多个来自的字符[a-zA-Z\d_]

于 2012-12-10T15:07:48.623 回答
0

Java 正则表达式(?<=@)[^@ ]+(?= )应该可以解决问题。根据 Regex Planet 的 Java 正则表达式页面,正则表达式匹配test1,test2和. (不以空格结尾,因此不匹配。)test3test4@test5test5

如果您也可以匹配前导@s 和尾随s,则可以使用更简单的 Java regex @[^@ ]+

于 2012-12-10T15:28:28.100 回答
0

最后我用下面的代码解决了它:

Pattern pattern = Pattern.compile("@\\p{L}+"); 
于 2012-12-10T16:03:03.280 回答