Reguläre Audrücke formulieren!

ArdianH101

Mitglied
Beschreiben Sie die Sprache der Identifier, die mit einem Buchstaben aus TB = {a,b,c} beginnen, mit Buchstaben und/oder Ziffern aus TZ = {0,1,2} fortgesetzt werden und mit einem ’x’ enden, über dem Terminalalphabet T = {0,1,2,a,b,c,x} durch einen regulären Ausdruck über T.
Mein Vorschlag wäre:

[abc]([abc]|[012])^+[x]


Tipps? :)
Danke :)
 
K

kneitzel

Gast
Also es darf nach meinem Verständnis am Anfang nur ein a, b oder c kommen und danach kommen nur 0, 1 oder 2. Wenn auch a, b und c vorkommen dürften (Und ich die Aufgabe falsch verstanden haben sollte), dann kannst du einfach [abc012] schreiben.
Vor das + gehört kein ^ - das ^ ausserhalb von [] bedeutet Anfang der Zeile.
Somit wäre der reguläre Ausdruck für mich [abc][012]+[x]
 

ArdianH101

Mitglied
Also es darf nach meinem Verständnis am Anfang nur ein a, b oder c kommen und danach kommen nur 0, 1 oder 2. Wenn auch a, b und c vorkommen dürften (Und ich die Aufgabe falsch verstanden haben sollte), dann kannst du einfach [abc012] schreiben.
Vor das + gehört kein ^ - das ^ ausserhalb von [] bedeutet Anfang der Zeile.
Somit wäre der reguläre Ausdruck für mich [abc][012]+[x]

[abc][012]+[x]
somit würde man mit einem a b oder c anfangen, dann mit 0 oder 1 oder 2 und dann wird das doch gleich mit x beendet? Aber nach dem [abc] muss doch genau wie die [012] auch mit [abc] fortgeführt werden können oder?
 
K

kneitzel

Gast
"Beschreiben Sie die Sprache der Identifier, die mit einem Buchstaben aus TB = {a,b,c} beginnen,"
==> Dies interpretiere ich so, dass am Anfang genau ein Element aus {a,b,c} kommt. Dies wird per [abc] abgebildet.
"mit Buchstaben und/oder Ziffern aus TZ = {0,1,2} fortgesetzt werden"
==> Es wird mit Elementen aus {0,1,2} fortgesetzt. Das bedeutet mind. 1 und beliebig viele Zeichen aus dieser Menge.
"und mit einem ’x’ enden"
==> Es soll am Ende genau ein x kommen.

Das dürfte ich abgebildet haben.
"über dem Terminalalphabet T = {0,1,2,a,b,c,x} durch einen regulären Ausdruck über T."
==> Dies gibt nur noch einmal das Terminalalphabet wieder, das es gibt und dass eben ein regulärer Ausdruck benötigt wird.

Oder habe ich da jetzt die Aufgabe an irgend einer Stelle missverstanden?
 

Joose

Top Contributor
Beschreiben Sie die Sprache der Identifier, die mit einem Buchstaben aus TB = {a,b,c} beginnen, mit Buchstaben und/oder Ziffern aus TZ = {0,1,2} fortgesetzt werden und mit einem ’x’ enden,

Also es darf nach meinem Verständnis am Anfang nur ein a, b oder c kommen und danach kommen nur 0, 1 oder 2. Wenn auch a, b und c vorkommen dürften (Und ich die Aufgabe falsch verstanden haben sollte),

Also laut meinem Verständnis muss es mit [abc] anfangen und kann dann mit [abc012] beliebig fortgesetzt werden und endet dann mit [x]
Steht ja da "beginnt mit Buchstaben" und "mit Buchstaben und/oder Ziffern fortgesetzt". Oder gehst du davon aus das [abc] nicht nochmal extra erwähnt wurden und "x" auch ein Buchstabe ist?
 
K

kneitzel

Gast
Ich hatte dieses Buchstaben und / oder Ziffern als Ganzes auf TZ bezogen. Aber jetzt wo ich drüber nachdenke, sind TB die Buchstaben und TZ die Ziffern und dann ist das ein Buchstaben und/oder (Ziffern aus TZ) fortgesetzt werden. - Mal durch Klammern versucht, die Zugehörigkeit zu zeigen.

So gesehen scheine ich den Zusammenhang wohl anders als von der Aufgabe beabsichtigt gesehen. Macht auch mehr Sinn, denn ich habe eine Menge T, die unterteilt werden in Buchstaben (TB) und Ziffen (TZ).

Dann käme man wohl auf ein [abc][abc012]+[x]
 

ArdianH101

Mitglied
"mit Buchstaben und/oder Ziffern aus TZ = {0,1,2} fortgesetzt werden"
Hm ok, ich finde das ist sehr verwirrend, dass es heisst mit Buchstaben aus TZ, das habe ich erst so interpretiert, dass auch {a,b,c} gemeint ist. Das seltsame ist halt, dass bei TZ keine Buchstaben sondern NUR Zahlen sind. Verstehst du meine Verwirrung? Ich finde da ganz ehrlich, die Aufgabenstellung ein bisschen schwammig, wenn es heisst Buchstaben aus TZ={a,b,c}
Aber sonst kann ich deinen Ausdruck verstehen :)
 

ArdianH101

Mitglied
Also laut meinem Verständnis muss es mit [abc] anfangen und kann dann mit [abc012] beliebig fortgesetzt werden und endet dann mit [x]
Steht ja da "beginnt mit Buchstaben" und "mit Buchstaben und/oder Ziffern fortgesetzt". Oder gehst du davon aus das [abc] nicht nochmal extra erwähnt wurden und "x" auch ein Buchstabe ist?

Ich gehe davon aus, dass mit Buchstaben und/oder Ziffern halt {a,b,c} UND ODER {0,102} gemeint wude...
 
K

kneitzel

Gast
ja, nach etwas mehr nachdenken bin ich auch zu der Einsicht gelangt, dass eure (Deine und Jooses) Sicht korrekt ist und ich falsch gelegen habe.
 
Ähnliche Java Themen

Ähnliche Java Themen


Oben