Wyszukanie pętli while - wyrażenia regularne

0

Cześć,
Nie potrafię rozwiązać sam problemu dlatego też postanowiłem tutaj napisać, mam nadzieję, że się uda.
Otóż, mam napisać program który wyszuka mi wszystkie wystąpienia pętli while.
Aby znaleźć konkretne słowo korzystam z "\slowo\b" i to działa ale co z while? Przy takim rozwiązaniu przyjęłoby mi każde wystąpienie, nawet przy zwykłym tekście a ja potrzebuję tylko konkretne użycie pętli.
Mógłby ktoś nakierować?
Pzdr.

0

Może jednak ktoś potrafiły pomóc?

0

Otóż, mam napisać program który wyszuka mi wszystkie wystąpienia pętli while.

Ty chcesz kod parsować i szukać w nim słowa kluczowego while ? Czy po prostu nie masz pojęcia o czym mówisz :P

0

Da się, zapisz kod do pliku i parsuj ten plik

0

Masz prawo założyć, że kod jest poprawny składniowo?

0

Tak, kod który sprawdzam jest poprawny.
Pomyślałem że można by spróbować wyszukiwać "while(x)" ale czy to będzie odpowiednie?

Dziękuję za odpowiedzi.
Pozdrawiam.

0

Spróbuj wyrzucić komentarze, zastąpić wszystkie Stringi pustymi Stringami i wyszukać wszystkie słowa while, po których jest ciąg białych znaków, po których jest "(". Pozostanie jeszcze problem odróżnienia pętli while od pętli do while.

0
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class myClass {

public int howManyWord () {
    int count = 0;      
    try {
        BufferedReader br = new BufferedReader(new FileReader("C:/myFile.txt"));
        String line = "";
        Pattern p = Pattern.compile("\\blife\\b"); // compile pattern only once
        while ((line = br.readLine()) != null) {
            Matcher m = p.matcher(line);
            while (m.find()) {
                System.out.println("found");
                count++;
            }
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

    return count;       
}
} 

To jest mój kod do wyszukiwania zwykłego słowa life.
Powinienem więc użyć StringTokenizer'a po wczytaniu go BufferReaderem i następnie zadziałać podobnie jak w kodzie powyżej? Rozumiem że wtedy przeszukanie kodu będzie następowało funkcją hasMoreElements()?

1 użytkowników online, w tym zalogowanych: 0, gości: 1