NoPaste

Arbeitsvorschlaege_zu_Programm_1.pas

von tegula
SNIPPET_DESC:
Bitte nach dem Download Dateinamensendung ".txt" entfernen.
SNIPPET_CREATION_TIME:
26.06.2022 15:41:42
SNIPPET_PRUNE_TIME:
Unendlich

SNIPPET_TEXT:
  1. program regex_01_arbeitsvorschlaege;
  2. // ---
  3. // title: "Lösungsversuch zum RegEXP-Kurs im Debianforum"
  4. // author: "tegula"
  5. // date: "26 06 2022"
  6. // ---
  7. //
  8. // ------------------------
  9. // ------------------------
  10. //
  11. // **Kurs-Teil:** Pascal (Kurzeinstieg) - Arbeitsvorschläge zu Programm Nr. 1
  12. // **Author des Kurs-Teils: TuxPeter
  13. // **URL:** https://debianforum.de/forum/viewtopic.php?p=1304497#p1304497
  14.  
  15. uses RegExpr;
  16.  
  17. var
  18.   re: TRegExpr;
  19.   ausdruck: string;
  20.   zeichenkette: string;
  21.  
  22.  
  23. begin  
  24.   // Arbeitsvorschlag Nr.1: "[...] den RE so ändern, dass [..] alle "l" ausgeben werden".
  25.   writeln('=== Arbeitsvorschlag 1: ===');
  26.   ausdruck := '(l)';
  27.   zeichenkette := 'hello world! hello pascal!';
  28.   re := TRegExpr.Create(ausdruck);
  29.   if re.Exec(zeichenkette) then
  30.   begin
  31.     WriteLn(re.Match[1]);
  32.     while re.ExecNext do
  33.     begin
  34.       WriteLn(re.Match[1]);
  35.     end;
  36.   end;
  37.  
  38.   // Arbeitsvorschlag Nr.2: "[...] den RE so ändern, dass [..] nur das 2. "hello" finden und zusammen mit den nachfolgenden 2 Zeichen ausgeben (damit man sieht, dass es tatsächlich das 2. "hello" ist)".
  39.   writeln('=== Arbeitsvorschlag 2: ===');
  40.   ausdruck := 'hello.*(hello.{2})';
  41.   zeichenkette := 'hello world! hello pascal!';
  42.   re := TRegExpr.Create(ausdruck);
  43.   if re.Exec(zeichenkette) then
  44.   begin
  45.     WriteLn(re.Match[1]);
  46.     while re.ExecNext do
  47.     begin
  48.       WriteLn(re.Match[1]);
  49.     end;
  50.   end;
  51.  
  52.   // Arbeitsvorschlag Nr.3
  53.   // Aufgabenstellung (Frage): "Was ist der Unterschied in der Behandlung der Zeichen IN der inneren Klammer "()" und außerhalb dieser Klammer?".
  54.   // Antwort: Nur die Zeichen innerhalb der Klammer werden extrahiert.
  55. end.

Quellcode

Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN