當我使用此代碼,我沒有預期的結果:簡單的Java正則表達式不
pattern = Pattern.compile("create\\stable\\s(\\w*)\\s\\(", Pattern.CASE_INSENSITIVE);
matcher = pattern.matcher("create table CONTACT (");
if(matcher.matches()) {
for(int i =0; i<matcher.groupCount();i++) {
System.out.println("table : " + matcher.group(i) + matcher.start(i) + " - " + matcher.end(i));
}
}
}
我希望趕上接觸,但正則表達式趕上整個表達式「CREATE TABLE CONTACT(」。 有人曾經對問題的想法?
感謝
打印組索引1. – 2014-09-27 14:38:51
http://regex101.com/r/lS5tT3/66它確實捕獲組1中的'contact' – vks 2014-09-27 14:39:24
非常感謝你們。我雖然如果正則表達式匹配groupCount將返回2(整個表達式和組捕獲)。 – 2014-09-27 14:41:42