Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » formale Sprachen » Reguläre Ausdrücke angeben » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

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 verwirrt
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.