我正在将很长的JS Regex转换为Android Java库。
下面的JS code无疑从["","常","","に","","最新","、","最高"...]
开始在数组中给出了29个项目
var keywords = /(\ |[a-zA-Z0-9]+\.[a-z]{2,}|[一-龠々〆ヵヶゝ]+|[ぁ-んゝ]+|[ァ-ヴー]+|[a-zA-Z0-9]+|[a-zA-Z0-9]+)/g;
var source = '常に最新、最高のモバイル。Androidを開発した同じチームから。';
var result = source.split(keywords);
然后我如下转换为Java(JDK 1.8.0_151);
public class Japanese {
static String keywords = "(\\ |[a-zA-Z0-9]+\\.[a-z]{2,}|[一-龠々〆ヵヶゝ]+|[ぁ-んゝ]+|[ァ-ヴー]+|[a-zA-Z0-9]+|[a-zA-Z0-9]+)";
public static String[] Split(String str) {
return str.split(keywords, -1);
}
}
@Test
public void test1() {
String source= "常に最新、最高のモバイル。Androidを開発した同じチームから。";
String[] result = Japanese.Split(source);
System.out.println("length: " + String.valueOf(result.length));
for (String w : result) {
System.out.println(!w.equals("") ? w : "EMPTY");
}
}
测试结果只有15
个项目,并且包含以下错误项目;
length: 15
EMPTY
EMPTY
EMPTY
、
EMPTY
EMPTY
。
EMPTY
EMPTY
EMPTY
EMPTY
EMPTY
EMPTY
EMPTY
。
我在做什么错了?