Wpis z mikrobloga

@Rincewind: mam program który po zwykłym scanie szatkuje kod.

Ma w tym kodzie znaleźć poprawną konstrukcję IF'a

Np. if ( warunek ) i go zliczyć.

Odrzucić ma natomiast wszystkie niepoprawne formy czyli

if warunek

iff warunek

warunek if

//if (warunek) w komentarzu

"if (warunek)"
@Dyzajash: Coś takiego powinno pomóc:

^\s*if\s*\((.*)\)
Ale coś czuję, że potrzebujesz parsera. Regexpy nie nadają się do takich zastosowań. Powyższy regex dopasuje

if(a==)()
z dopasowaniem warunku równym

a==)(
. Przerobienie dopasowania warunku na lazy (czyli

.*?
) dla tego samego wejścia dopasuje warunek jako

a==
. Oba nie wydają się prawidłowe, i regexpami tych problemów nie przeskoczysz.
@Dyzajash: Nie wierzę, że prowadzący zakazał korzystać z czegoś spoza biblioteki standardowej. Jeśli tak, to szczerze współczuję prowadzącego. Cóż, możesz zostać z tym regexpem i ręcznie sprawdzać poprawność warunku, ale jeśli w warunku pojawią się nawiasy to zawszę będzie dopasowywać do dupy.
@Rincewind: "Klasy Main (utworzonej przez generator projektów) nie wolno w żaden sposób modyfikować" "Nie wolno dołączać żadnych zewnętrznych bibliotek do programu" "Wszystkie klasy w programie winny być publiczne (i w oddzielnych plikach)". Jak to mówią 'have a nice day'...