这是一个示例字符串
hi #myname, you got #amount
我想找到使用java regx的所有单词,
以#
开头,以空格或.
结尾
示例#myname
,#amount
我尝试了以下正则表达式,但它不起作用。
String regx = "^#(\\s+)";
答案 0 :(得分:2)
这应该是这样的:
#(\w+)(?:[, .]|$)
#
字面上匹配#
\w
是一个至少包含一个字母的字词(?:)
是非捕获组[, .]|$
是一组结尾字符,包括行$
有关详细信息,请查看Regex101。
在Java中,不要忘记使用双\\
转义:
String str = "hi #myname, you got #amount";
Matcher m = Pattern.compile("#(\\w+)(?:[, .]|$)").matcher(str);
while (m.find()) {
...
}
答案 1 :(得分:1)
String str = "hi #myname, you got #amount";
Matcher m = Pattern.compile("\\#(\\w+)").matcher(str);
答案 2 :(得分:0)
这是正则表达式:"(#\w*?[ .])"