Java中的正则表达式?

Java中的正则表达式?,java,regex,regular-language,Java,Regex,Regular Language,我有以下资料: String line = put retur#ERns between #errf #fgrf#re paragraphs #fg^%tg2#785Ty*; 如何使用正则表达式获得以下值: #ERns #errf #fgrf #re #fg^%tg2 #785Ty* 我的代码: String pattern = "^#\S+"; Pattern r = Pattern.compile(pattern); Matcher m = r.matcher(line); while

我有以下资料:

String line = put retur#ERns between #errf #fgrf#re paragraphs #fg^%tg2#785Ty*;
如何使用正则表达式获得以下值:

#ERns
#errf
#fgrf
#re
#fg^%tg2
#785Ty*
我的代码:

String pattern = "^#\S+";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(line);
while (m.find()) {
   Log.i("log", m.group());
}

您可以改为使用此正则表达式:

#[^#\s]*

求反字符类
[^#\s]
与非
且非空白的字符匹配

在Java使用中:

final String pattern = "#[^#\\s]*";