我有以下格式正則表達式 - 否定串
AAA
BBB
聯賽= 「NFL」
聯賽= 「CFB」
聯賽= 「NBA」
聯賽=」文件CBK」
CCC
DDD
我想只列出含有聯賽的線,但不NFLØ NBA。所以從上面的,我只是想:
聯賽= 「CFB」
聯賽= 「CBK」
預先感謝您。
我有以下格式正則表達式 - 否定串
AAA
BBB
聯賽= 「NFL」
聯賽= 「CFB」
聯賽= 「NBA」
聯賽=」文件CBK」
CCC
DDD
我想只列出含有聯賽的線,但不NFLØ NBA。所以從上面的,我只是想:
聯賽= 「CFB」
聯賽= 「CBK」
預先感謝您。
像這樣的東西應該工作:
/League="[^(NFL)|(NBA)]"/
你必須使用正則表達式? (它是家庭作業?)
如果沒有,你可以讀取該文件,並過濾它,像這樣:
BufferedReader in = new BufferedReader(new FileReader("filePath"));
String line = in.readLine();
List<String> myList = newArrayList<String>();
while(line != null){
if ((line.startsWith("League")) &&
(!line.contains("NFL")) &&
(!line.contains("NBA"))){
myList.add(line)
}
}
要填充包含所有這一切與聯賽開始的文件中的字符串的字符串列表,但那不包含NFL或NBA。
這樣做與一條線上的正則表達式匹配將是醜陋的。
謝謝你的例子。然而,不,它不是作業,我需要一個正則表達式。 – user1828108
最後兩個將被解釋爲 /聯賽=「[^ NFLBA]」/
它應該是全球性的,使迭代匹配'/ g'並匹配更多的時間'' –
謝謝你的但我認爲這個解決方案的作用僅僅是因爲它消除了以N開始的運動,因爲當我用CBK取代NBA時,它不起作用。 – user1828108