奇怪的很,从WebView提取出文本后去用正则式匹配失败,而且明明要匹配的字符串里面有,而且单独用字符串直接匹配实验又是可以的。究竟什么鬼?
webEngine.getLoadWorker().stateProperty()
.addListener(new ChangeListener() {
@Override
public void changed(ObservableValue<? extends Worker.State> ov,
Worker.State oldState, Worker.State newState) {
if (newState == Worker.State.SUCCEEDED) {
String docContent = webEngine.getDocument().getDocumentElement().getTextContent();
//Pattern patternUK = Pattern.compile("英\\s*\\[[^\\]]+\\]");
//Matcher matcherUK = patternUK.matcher("aaaa美 [wɜː(r)d]bbbb[]aaaa英 [wɜː(r)d]");
Pattern patternUS = Pattern.compile("美\\s*\\[[^\\]]+\\]");
Matcher matcherUS = patternUS.matcher(docContent);
if (matcherUS.find()) {
System.out.println(docContent);
System.out.println("Found value: " + matcherUS.group(0));
info.setText("Found value: " + matcherUS.group(0));
} else {
System.out.println("NO MATCH");
info.setText("NO MATCH");
}
textArea.setText(docContent);
}
}
});