我需要在特定字符之前提取字符串中的所有单词,在本例中为冒号(:)。
例如:
String temp = "root/naming-will-look-like-this:1.0.0-SNAP";
从上面的字符串中我想返回:
"根" "命名" "将" "外观" "像" "这"
我对正则表达方式并不擅长,到目前为止我已经提出了这个问题。
\w+(?=:)
只返回冒号前面的一个单词(" this")。
我怎样才能检索所有单词?
提前致谢。
答案 0 :(得分:4)
答案 1 :(得分:1)
试试这个:
String s = "root/naming-will-look-like-this:1.0.0-SNAP";
s = s.replaceAll(":.*", "");
String[] arr = s.split("\\W+");
答案 2 :(得分:0)
除了Java的角色类交集之外,使用\G
锚点,您可以将单词存储到第一个捕获组中:
\G(\w+)[\W&&[^:]]*
这不会绕过输入字符串下方的多个冒号:
root/naming-will-look-like-this:1.0.0-SNAP:some-thing-else