我想使用 java 正则表达式查找所有以“#”开头并以 space 或“.”结尾的单词。
I want to find all words using java regex, that starts with "#" and ends with space or "."
这是一个示例字符串
hi #myname, you got #amount
我想使用 java regx 查找所有单词,
以 #
开头并以 space 或 .
结尾
例子 #myname
,#amount
我尝试了以下正则表达式,但它不起作用。
String regx = "^#(\s+)";
这是正则表达式:"(#\w*?[ .])"
这条路应该是:
#(\w+)(?:[, .]|$)
#
按字面意思匹配 #
\w
是一个至少有一个字母的单词
(?:)
是非捕获组
[, .]|$
是一组结束字符,包括行尾 $
有关详细信息,请查看 Regex101。
在Java中不要忘记用双\
转义:
String str = "hi #myname, you got #amount";
Matcher m = Pattern.compile("#(\w+)(?:[, .]|$)").matcher(str);
while (m.find()) {
...
}
String str = "hi #myname, you got #amount";
Matcher m = Pattern.compile("\#(\w+)").matcher(str);
这是一个示例字符串
hi #myname, you got #amount
我想使用 java regx 查找所有单词,
以 #
开头并以 space 或 .
结尾
例子 #myname
,#amount
我尝试了以下正则表达式,但它不起作用。
String regx = "^#(\s+)";
这是正则表达式:"(#\w*?[ .])"
这条路应该是:
#(\w+)(?:[, .]|$)
#
按字面意思匹配#
\w
是一个至少有一个字母的单词(?:)
是非捕获组[, .]|$
是一组结束字符,包括行尾$
有关详细信息,请查看 Regex101。
在Java中不要忘记用双\
转义:
String str = "hi #myname, you got #amount";
Matcher m = Pattern.compile("#(\w+)(?:[, .]|$)").matcher(str);
while (m.find()) {
...
}
String str = "hi #myname, you got #amount";
Matcher m = Pattern.compile("\#(\w+)").matcher(str);