我有一个像这样的字符串:@78517700-1f01-11e3-a6b7-3c970e02b4ec
,@68517700-1f01-11e3-a6b7-3c970e02b4ec
,@98517700-1f01-11e3-a6b7-3c970e02b4ec
,@38517700-1f01-11e3-a6b7-3c970e02b4ec
...。
我想提取@
之后的字符串。
我有如下的当前代码:
private final static Pattern PATTERN_LOGIN = Pattern.compile("@[^\\s]+");
Matcher m = PATTERN_LOGIN.matcher("@78517700-1f01-11e3-a6b7-3c970e02b4ec , @68517700-1f01-11e3-a6b7-3c970e02b4ec, @98517700-1f01-11e3-a6b7-3c970e02b4ec, @38517700-1f01-11e3-a6b7-3c970e02b4ec");
while (m.find()) {
String mentionedLogin = m.group();
.......
}
...但是
m.group()
给了我@78517700-1f01-11e3-a6b7-3c970e02b4ec
但我想要78517700-1f01-11e3-a6b7-3c970e02b4ec
最佳答案
您应该使用正则表达式"@([^\\s]+)"
,然后使用m.group(1)
,这将返回由捕获括号()
“捕获”的内容。m.group()
或m.group(0)
返回由正则表达式找到的完整匹配字符串。