www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Formale Sprachen" - Regular Expressions
Regular Expressions < Formale Sprachen < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Formale Sprachen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Regular Expressions: RegEx Konstruktion
Status: (Frage) beantwortet Status 
Datum: 23:36 Do 29.11.2012
Autor: steffl

Aufgabe
Das Alphabet sei {a,b}. Erstelle einen (möglichst einfachen) regulären Ausdruck, der genau jene Wörter matcht, in denen keine zwei aufeinanderfolgende Buchstaben gleich sind.
gematcht: a; abab, babab; (leere Eingabe)
nicht gematcht: aa; bb; abba; bbaa
Expressions:
. (ein Punkt) matcht genau ein beliebiges Zeichen.
+ (ein Plus) bedeutet, dass der Ausdruck davor beliebig oft (mindestens
einmal) auftritt.
*bedeutet, dass der Ausdruck davor beliebig oft (eventuell 0-mal) auftritt.
? bedeutet, dass der Ausdruck davor höchstens 1-mal (eventuell 0-mal) auftritt.
| bedeutet, dass entweder der Teil links oder der Teil rechts auftritt

Hallo.
Ich rätsel schon ziemlich lange an der oben angeführten Aufgabe herum. Hatte zuerst folgende lösung:
a?b(ab)*|b?a(ba)*  hab dann aber gesehen dass das nicht gehen kann. Auch ab(ab)*|ba(ba)* geht nicht da ja auch der ausdruck a als gemacht gilt. Hat irgendjemand einen tipp?
Lg

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
Regular Expressions: Antwort
Status: (Antwort) fertig Status 
Datum: 18:36 Fr 30.11.2012
Autor: Anna-Lyse

Hallo steffl,

der Ansatz

> a?b(ab)*|b?a(ba)*

geht ja schon mal prinzipiell in die richtige Richtung - nur ist hier ein | noch nicht einmal notwendig. Also wenn Du jetzt einen von Deinen beiden Dir dort gedachten Ausdrücken nimmst, z.B.

> a?b(ab)*

wie könnte man diesen Ausdruck verändert, dass er passend ist? Mit dem "?"-Ausdruck bist Du schon auf dem richtigen Weg, nun überlege mal, was Du da "bauen" müsstest, wenn Du als Kern (ab)* lässt. Hilft Dir das weiter?

Gruß
Anna

Bezug
                
Bezug
Regular Expressions: RegEx Konstruktion
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 01:34 Sa 01.12.2012
Autor: steffl

Hallo anna
Danke einmal für deine antwort. Es immer gut zu wissen, dass man auf den richtigen weg ist. Ich hätte zum beispiel gar nicht gedacht, dass ich das | zeichen gar nicht brauche. Was mir noch probleme bereitet ist das auch gar keine eingabe als gematcht gilt. Somit können also keine einzelnen buchstaben ohne zeichen vorkommen.
Meine lösung war nun: a?(ba)*b? wobei der ja wieder nicht geht da auch babba gematch wird....
Eine andere lösung, einfach a?(ba)* geht auch nicht da wenn nur b die eingabe ist, es auch nicht gematcht wird...
Ich schaffe es einfach nicht, dass alle ausdrücke gematcht werden. Über einen weiteren tipp wäre ich sehr dankbar :)

Bezug
                        
Bezug
Regular Expressions: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:49 Di 04.12.2012
Autor: ursular

Wieso matched a?(ba)*b? denn babba.
Ich habe damit nicht viel Erfahrung aber das wäre auch meine Lösung gewesen.


Ohje, bin neu in diesem Forum. Ich hab den anderen Zweig der Antwort gar nicht gesehen. Tschuldigung.

Bezug
                                
Bezug
Regular Expressions: Antwort
Status: (Antwort) fertig Status 
Datum: 21:46 Mi 05.12.2012
Autor: Anna-Lyse

Hallo ursular,

> Wieso matched a?(ba)*b? denn babba.
>  Ich habe damit nicht viel Erfahrung aber das wäre auch
> meine Lösung gewesen.

Ist ja auch richtig :-)

Gruß
Anna

Bezug
        
Bezug
Regular Expressions: Antwort
Status: (Antwort) fertig Status 
Datum: 11:56 Sa 01.12.2012
Autor: Anna-Lyse

Hallo steffl,

Du bist doch schon ganz nahe dran... :-)

> Eine andere lösung, einfach a?(ba)* geht auch nicht da wenn nur b die eingabe ist, es auch nicht gematcht wird...

Wo könnte man denn hier noch ein einzelnes b in den Ausdruck einbringen? Und schon hast Du es.... mit "a?" hast Du das doch schon gut erkannt. Wo also b hin? ;-)

WOBEI - ich sehe gerade... Du hast es doch schon:

>Meine lösung war nun: a?(ba)*b?
[ok]

> wobei der ja wieder nicht geht da auch babba gematch wird

Wieso sollte babba matchen? Vergesse nicht, Du hast a?(ba)*b? und nicht (a?(ba)*b?)*

Gruß
Anna

Bezug
                
Bezug
Regular Expressions: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:13 Sa 01.12.2012
Autor: steffl

Hallo anna.

>  Wieso sollte babba matchen? Vergesse nicht, Du hast
> a?(ba)*b? und nicht (a?(ba)*b?)*

Ahhhhhh aja stimmt, ich habe (a?(ba)*b?)* angenommen.
Danke für die hilfe ich hätte da sonst noch ewig herumgetan ;)

Lg

Bezug
                        
Bezug
Regular Expressions: RegEx Konstruktion, Aufgabe2
Status: (Frage) beantwortet Status 
Datum: 13:55 Sa 01.12.2012
Autor: steffl

Aufgabe
Das Alphabet sei {a,b,c}. Gib einen (möglichst einfachen) regulären Ausdruck an, der genau jene Wörter matcht, für die folgendes gilt:
• Kommt der String aa vor, so kommt auch der String cc vor.
Gematcht: abba; bccb; bccaa; (leere eingabe)
Nicht gematcht: aa; abaaba; baaa, cac

Bei der dieser Aufgabe bin ich mir auch nicht sicher.
Ich habe folgende Lösung bekommen:

a?(b?c?)*(ccaa|aacc)?

Geht das so? Sorry für die weitere Frage aber ich bin leider noch nicht sehr geübt mit dem Ungang von Regular Expressions....



Bezug
                                
Bezug
Regular Expressions: Antwort
Status: (Antwort) fertig Status 
Datum: 14:36 Sa 01.12.2012
Autor: Anna-Lyse

Hallo steffl,

> Das Alphabet sei {a,b,c}. Gib einen (möglichst einfachen)
> regulären Ausdruck an, der genau jene Wörter matcht, für
> die folgendes gilt:
> • Kommt der String aa vor, so kommt auch der String cc
> vor.
> Gematcht: abba; bccb; bccaa; (leere eingabe)
>  Nicht gematcht: aa; abaaba; baaa, cac
>  Bei der dieser Aufgabe bin ich mir auch nicht sicher.

>  Ich habe folgende Lösung bekommen:
>
> a?(b?c?)*(ccaa|aacc)?

Meinst Du denn, dass z.B. das Wort bbba ein Wort ist, das gematcht sein sollte?
Und wenn ja - passt Dein reg. Ausdruck dazu?

Ich würde mir an Deiner Stelle zuerst einmal Gedanken machen, welche Wörter das sind, die die Bedingung erfüllen. Ein paar Beispiele wurden Dir ja gegeben - aber das sind natürlich nicht alle. Ist denn z.B. gesagt, dass auf dem doppelten "A" direkt das doppelte "C" folgen muss bzw. umgekehrt? Oder ist nur gesagt, dass - falls aa vorkommt - auch cc vorkommen muss - UNABHÄNGIG ihrer Positionen im String?

Gruß
Anna

Bezug
                                        
Bezug
Regular Expressions: RegEx Konstruktion, Aufgabe2
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:28 Sa 01.12.2012
Autor: steffl

Hallo anna.
Danke für dein geduld.

> Meinst Du denn, dass z.B. das Wort bbba ein Wort ist, das
> gematcht sein sollte?
>  Und wenn ja - passt Dein reg. Ausdruck dazu?

Ja der soll auch gemacht werden, sowie wie auch zum Beispiel abba (laut angabe). Nein der passt dann nicht dazu :) Aber der ausdruck a?(b?c?)a? sollte gehen.

> Ist denn z.B. gesagt, dass
> auf dem doppelten "A" direkt das doppelte "C" folgen muss
> bzw. umgekehrt? Oder ist nur gesagt, dass - falls aa
> vorkommt - auch cc vorkommen muss - UNABHÄNGIG ihrer
> Positionen im String?

In der Angabe sind nur beispiele wo das aa dem cc folgt oder umgekehrt, deswegen bin ich davon ausgegangen, dass es so sein muss. Aber wie soll es sonst gehen? Da ja eine leere eingabe als gematcht gilt, dürfen somit keine einzelnen buchstaben (also ohne * ? ) vorkommen. Somit kann aa auch nur mit ? *  vorkommen; und sie können nicht mehr unabhängig voneinander auftreten (wie weiß ich dass dann aa schon aufgetreten ist?)

Lg





Bezug
                                
Bezug
Regular Expressions: Antwort
Status: (Antwort) fertig Status 
Datum: 22:23 Mo 03.12.2012
Autor: Anna-Lyse

Hallo steffl,

>  Danke für dein geduld.

Kein Problem :) War länger nicht hier - hast Du denn mittlerweile die Lösung bzw. noch Interesse an weiterer Hilfe bzw. hast Du noch Fragen?

> > Meinst Du denn, dass z.B. das Wort bbba ein Wort ist, das
> > gematcht sein sollte?
>  >  Und wenn ja - passt Dein reg. Ausdruck dazu?
>  
> Ja der soll auch gemacht werden, sowie wie auch zum
> Beispiel abba (laut angabe). Nein der passt dann nicht dazu
> :) Aber der ausdruck a?(b?c?)a? sollte gehen.

Bzgl. was sollte dieser Ausdruck gehen?
  

> > Ist denn z.B. gesagt, dass
> > auf dem doppelten "A" direkt das doppelte "C" folgen muss
> > bzw. umgekehrt? Oder ist nur gesagt, dass - falls aa
> > vorkommt - auch cc vorkommen muss - UNABHÄNGIG ihrer
> > Positionen im String?
>  
> In der Angabe sind nur beispiele wo das aa dem cc folgt
> oder umgekehrt, deswegen bin ich davon ausgegangen, dass es
> so sein muss.

Aber die Aufgabenstellung sagt doch klar:

> Kommt der String aa vor, so kommt auch der String cc vor.

und nicht:
"Kommt der String aa vor, so folgt darauf der String cc".
Oder?

> Aber wie soll es sonst gehen? Da ja eine
> leere eingabe als gematcht gilt, dürfen somit keine
> einzelnen buchstaben (also ohne * ? ) vorkommen. Somit kann

Genau - zumindest, wenn man es ohne | realisieren würde - aber ob das möglich wäre? ;)

> aa auch nur mit ? *  vorkommen; und sie können nicht mehr

Ja? Oder würde es auch anders gehen, z.B. indem Du diesmal ein | mit einbaust?

> unabhängig voneinander auftreten (wie weiß ich dass dann
> aa schon aufgetreten ist?)

Du musst halt aa und cc definitiv reinbringen.... Zusammen als Tipp mit dem | hilft Dir das vielleicht schon...
  
Gruß
Anna

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Formale Sprachen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorhilfe.de