我正在尝试将字符串拆分为与REGEX匹配的标记:
(\\w+(\\.?\\w+)*)
例如:如果字符串是abc.com wyx-ujk:wxr.c
那么
令牌1)abc.com
令牌2)wxy
令牌3)ujk
令牌4)wxr.c
但无法做到......
这是我的代码:
String temp="abc.com wyx-ujk:wxr.c";
Pattern pattern = Pattern.compile("\\w+(\\.?\\w+)*");
Matcher matcher = pattern.matcher(temp);
System.out.println(matcher.group());
答案 0 :(得分:2)
此方法适用于您的测试用例:
String[] tokens = temp.split("[^\\w.]+");
而不是关注目标 的内容,而不是不。
一些测试代码JDK7:
System.out.println(Arrays.toString("abc.com wyx-ujk:wxr.c".split("[^\\w.]+")));
输出:
[abc.com, wyx, ujk, wxr.c]
和JDK8:
Arrays.stream("abc.com wyx-ujk:wxr.c".split("[^\\w.]+")).forEach(System.out::println);
输出:
abc.com
wyx
ujk
wxr.c