您能告诉我为什么String.matches()
中使用的正则表达式模式不会使用String.split
拆分给定字符串吗?
以下是代码:
String text = "sdf.an@dfgdfg.com; sdfsdf@fdfd.erff";
String regex = "(\\b[\\w.%-]+@[\\w.]+\.[a-zA-Z]{2,4}\\b)([,;]\\s*\\b[\\w.%-]+@[\\w.]+\.[a-zA-Z]{2,4}\\b)*";
String [] emails = text.split(regex);
emails
为空:(
答案 0 :(得分:3)
我认为String.split
需要一个分隔符而不是整个模式。
在你的情况下,你可以简单地把这个
text.split(";\\s*")
答案 1 :(得分:1)
为什么不使用正则表达式";\\s*"
?
String text = "sdf.an@dfgdfg.com; sdfsdf@fdfd.erff";
String regex = ";\\s*";
String [] emails = text.split(regex);
for(String ss : emails) System.out.println(ss);
<强>输出:强>
sdf.an@dfgdfg.com
sdfsdf@fdfd.erff