2012-11-15 6 views
0

나는 다음과 같은 형식정규 표현식 - 부정하기 문자열

AAA
BBB
리그 = "NFL"
리그 = "CFB"
리그 = "NBA"
리그 = "의 파일이 CBK "
CCC
DDD

내가 NFL을 리그를 포함에만 라인을 나열하지만 싶습니다 오 NBA. 그래서 위에서, 나는 단지 원하는 :

리그 = "CFB"
리그 = "CBK"


사전에 감사합니다. 이 같은

답변

0

뭔가 작업을해야합니다 :

/League="[^(NFL)|(NBA)]"/ 
+0

이 글로벌해야한다는'반복 일치'/ g'를 가능하게하고 더 많은 시간을 일치합니다. *' –

+0

이 주셔서 감사합니다 예를 들어이 솔루션은 N으로 시작하는 스포츠를 제거하기 때문에 작동합니다. NBA를 CBK로 바꿀 때 작동하지 않기 때문입니다. – user1828108

0

는 정규 표현식을 사용해야합니까? (숙제 것이 있습니까?)

하지 당신이 파일을 읽을 등처럼 필터링 할 수있는 경우 :

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는 포함되지 않았습니다.

라인에서 정규식 일치를 사용하면이 방법을 사용할 수 없습니다.

는 마지막 두가 /리그 =으로 해석됩니다
+0

예를 들어 주셔서 감사합니다. 그러나, 숙제가 아니며 정규 표현식이 필요합니다. – user1828108

0

"[^ NFLBA]"/

관련 문제