将文本拆分为与以下正则表达式匹配的标记:\w+(\.?\w+)*
Split the text into tokens which match the following regular expression: \w+(\.?\w+)*
我正在尝试将字符串拆分为与 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());
此方法适用于您的测试用例:
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
我正在尝试将字符串拆分为与 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());
此方法适用于您的测试用例:
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