Die letzten 10 Beiträge |
eulerscheZahl |
Ist das + jetzt wieder ein ODER?
Wie auch immer, es klappt nicht wie geplant.
Dafür gibt es die "negative look-ahead assertion".
^((?!ab).)*$ |
Müller |
ich komme mit dem Vorschlag für Aufgabe b :
( (b+c)* (a+c)* c (b+c)* ) + ( (b+c)* . (a+b) * )
aber ich bin mir nicht sicher , dass alles abgedeckt ist |
eulerscheZahl |
Damit stellst du sicher, dass die Anzahl der a Vielfaches von 3 ist:
^(b|c)*((a(b|c)*){3})*$
Wir haben zu Beginn eine beliebig lange Folge von b und c. Dann kommt drei mal (a, gefolgt von b und c). Diese Gruppe darf aber beliebig oft kommen. |
Schattenklinge |
anzahl a mod 3 = 0 oder anzahl b mod 2 = 0
Das wort ist sonst nicht weiter definiert |
eulerscheZahl |
Kommen erst die a und dann die b, also z.B. aaaaaaaaabbbb, oder können die auch vermischt auftreten? |
Schattenklinge |
Alles klar, danke
nochmal als weitere übung:
und wenn ich jetzt die anzahl der a mod 3 = 0 konstruieren oder anzahl der b mod 2 = 0 konstruieren will, wie mach ich das?
Gehe ich einfach davon aus, dass ich z.B. sowas mache?
Erstmal für mod 3:
(a (b|c)* a (b|c)* a(b|c)*)* ? Dann hab ich immer 3mal a und die Anzahl der a sind immer vielfache von 3? |
eulerscheZahl |
So passt die Sache.
Reguläre Ausdrücke sind eigentlich standardisiert, ich sehe den Sinn nicht, seine eigene Version zu definieren
|
Schattenklinge |
Hi, mit + ist bei uns im skript ein oder gemeint...
Ich kanns auch so schreiben wie du es meinst:
((a|b|c)(a|b|c)(a|b|c))* | ((a|b|c)(a|b|c))* |
eulerscheZahl |
+ ist kein ODER, sondern gibt die Anzahl an.
Mit a+b+c findest du also nicht bcb (3 Buchstaben), dafür aber aaaabbbbbbbbc. |
Schattenklinge |
Hi,
also kann ich das so schreiben wie ich es gerade geschrieben hab?
((a+b+c)(a+b+c)(a+b+c))* + ((a+b+c)(a+b+c))* ? |
Es sind weitere Beiträge zu diesem Thema vorhanden. Klicken Sie hier, um sich alle Beiträge anzusehen. |