使用java regex查找以'@'开头并以''结尾的所有字符串,不包括''和'@'

时间:2012-12-10 15:05:46

标签: java regex

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

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

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

如何使用java regx做到这一点?非常感谢!

3 个答案:

答案 0 :(得分:1)

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

@\w+

\w[a-zA-Z\d_]

类似

\w+匹配来自[a-zA-Z\d_]

的1到多个字符

答案 1 :(得分:0)

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

如果您可以匹配前导@和尾随,那么您可以使用更简单的Java正则表达式@[^@ ]+

答案 2 :(得分:0)

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

Pattern pattern = Pattern.compile("@\\p{L}+");