我需要在下面的字符串中获取所有以(空格)开头@和结尾的 字符串(非空) ' ':
String s = "@test1 @test2 @test3 @test4 @@ @test5";
我希望我能得到所有"test1", "test2", "test3", "test4", "test5"的字符串。
如何用 java regx 做到这一点?多谢!
您可以使用以下正则表达式
@\w+
\w类似于[a-zA-Z\d_]
\w+匹配 1 到多个来自的字符[a-zA-Z\d_]
Java 正则表达式(?<=@)[^@ ]+(?= )应该可以解决问题。根据 Regex Planet 的 Java 正则表达式页面,正则表达式匹配test1,test2和. (不以空格结尾,因此不匹配。)test3test4@test5test5
如果您也可以匹配前导@s 和尾随s,则可以使用更简单的 Java regex @[^@ ]+。
最后我用下面的代码解决了它:
Pattern pattern = Pattern.compile("@\\p{L}+");