我试图使用正则表达式对一段文本中以冒号限定的字符串进行分组,例如
:smile: blah :anger:
,我想要:smile:
和:anger:
一些文字:sad:
,我想要:sad:
我尝试使用以下内容,但似乎贪婪匹配最大的字符串:
Pattern p = Pattern.compile("(:.*?:)");
Matcher m = p.matcher(text);
在第一种情况下,它给了我整个字符串,而在第二种情况下则没有。
答案 0 :(得分:-1)
你的正则表达式看起来很好试试这个:
String s = ":smile: blah :anger:, I want :smile: and :anger:";
Pattern p = Pattern.compile("(:.*?:)");
Matcher m = p.matcher(s);
while(m.find()){
System.out.println(m.group());
}