Wyrażenia regularne

Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowa

Perl: programowanie - Wyrażenia regularne

We wszystkich poniższych zadaniach, a raczej tam, gdzie jest to najsensowniejsze, napisz odpowiedni program, który będzie jednocześnie demonstracją rozwiązania. W zadaniach chodzi głównie o opracowanie wyrażenia regularnego, które dopasowuje się do określonych napisów. Program powinien wczytywać dane testowe i zwracać odpowiedni rezultat.

Zatem... napisz program, który: wczyta dane ze standardowego wejścia i wyszuka w nich:

  1. Wszystkie wiersze, które zawierają cyfry.
  2. Wszystkie wiersze, które nie zawierają cyfr.
  3. Wszystkie wiersze, które zawierają liczby całkowite. Dopuszczalne jest, aby liczby były zapisane w następujący sposób (przykłady): 12, +12, -12.
  4. Wszystkie wiersze, które zawierają liczby rzeczywiste bez znaku i bez wykładnika, czyli: 12.34, -12.34, +12.34, 12., +12., -12.. Liczby bez części przed kropką dziesiętną (czyli np. .007) nie powinny być akceptowane.
  5. Wszystkie wiersze, które są liczbami wybieranymi tak jak w powyższym zadaniu, ale dopuszczalne jest istnienie w nich zamiast kropki - również przecinka.
  6. Wszystkie wiersze, które zawierają poprawną liczbę sformatowaną w tradycyjny sposób, czyli jak w poprzednich zadaniach, oraz dodatkowo: 1.12e23, 1.23e+23, 1.23e-23, itp. Wyrażenie regularne, które zbudujesz powinno akceptować wszystkie możliwe formaty liczby rzeczywistej wypisywane np. przez printf z formatem %g.
  7. Wszystkie wiersze, które zawierają słowo perl ale nie zawierają słowa Perl.
  8. Wszystkie wiersze, które zawierają w sobie datę zapisaną jako YYYY-MM-DD.
  9. Wszystkie wiersze, które zawierają w sobie czas podany jako HH:MM:SS.sss, gdzie część .sss oznacza tysięczne części sekund i może w ogóle nie wystąpić.
  10. Wszystkie wiersze, które na początku lub na końcu zawierają jakieś białe znaki (np. spacje lub tabulatory).
  11. Wszystkie wiersze, które zawierają numer telefonu z kierunkowym 058 (do strefy województwa pomorskiego).
  12. Wszystkie wiersze, które zawierają słowo lub słowa napisane z wielkiej litery. Zadbaj w szczególności o to, aby twój program nie dał się nabrać na słowa typu R2D2 albo X*3abc.
  13. Wszystkie wiersze, które zawierają PRAWIDŁOWY adres IPv4 podany w formie xxx.yyy.zzz.ttt.
  14. Wszystkie wiersze, zawierające dowolny adres url.
Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowa - Perl
[c] Piotr Arłukowicz, materiały z tej strony udostępnione są na licencji GNU.