Wat is de taal die voortgebracht kan worden door a.(a+b)*
Dit is de taal:
L = a ( en dan hierna 0 of meer a's of 0 of meer b's)
dus a(aaaa...) of a(bbbbb...)
Mijn vraag:
Kan dit ook a(aaabbbb...) zijn? En a(babbabbab...)? Of is het '+' teken een exclusieve or?
reguliere expressies
- meneer van Hoesel
- Vergevorderde
- Berichten: 395
- Lid geworden op: 20 apr 2010, 14:43
- Locatie: Zwolle
Re: reguliere expressies
zonder te testen,
het moet een herhaling zijn van de tekens uit de groep, dus abbaabbabaabababababbabab voldoet
het moet een herhaling zijn van de tekens uit de groep, dus abbaabbabaabababababbabab voldoet
Re: reguliere expressies
Dit moet je in je boek terug kunnen vinden: notaties kunnen afhankelijk van de auteur wat verschillen.
Ik verwacht echter dat de + inderdaad staat voor xor:
Er zou in ieder geval verschil moeten bestaan tussen:
[1]
a.(ab)*
a gevolgd door nul of meer keer ab
vb: a, aab, aabab, aababab, ...
[2]
a.(a,b)*
a gevolgd door nul of meer keer (een a of een b)
vb: aaaabbabaababbbab..., en het voorbeeld van meneer van Hoesel
[3]
a.(a)*.(b)*
a gevolgd door nul of meer keer a gevolgd door nul of meer keer b
vb: aaaaaabbbbb, aaaaaa, abbbbbb aaabbbbbbbbbbbbb
[4]
a.(a+b)*
vb: L = a ( en dan hierna 0 of meer a's exclusief-of 0 of meer b's)
a, aaaaaaaaaaaaaaa, abbbbbbbbbb
maar dus niet: aaabbb
Noot: je kan dit beter beschrijven als:
L = (a en dan hierna 0 of meer a's) of (a en dan hierna 0 of meer b's)
omdat (a en dan nul a's) = (a en dan nul b's), in dit geval doet de xor vreemd aan.
Kan je dergelijke voorbeelden in je boek terugvinden?
Ik verwacht echter dat de + inderdaad staat voor xor:
Er zou in ieder geval verschil moeten bestaan tussen:
[1]
a.(ab)*
a gevolgd door nul of meer keer ab
vb: a, aab, aabab, aababab, ...
[2]
a.(a,b)*
a gevolgd door nul of meer keer (een a of een b)
vb: aaaabbabaababbbab..., en het voorbeeld van meneer van Hoesel
[3]
a.(a)*.(b)*
a gevolgd door nul of meer keer a gevolgd door nul of meer keer b
vb: aaaaaabbbbb, aaaaaa, abbbbbb aaabbbbbbbbbbbbb
[4]
a.(a+b)*
vb: L = a ( en dan hierna 0 of meer a's exclusief-of 0 of meer b's)
a, aaaaaaaaaaaaaaa, abbbbbbbbbb
maar dus niet: aaabbb
Noot: je kan dit beter beschrijven als:
L = (a en dan hierna 0 of meer a's) of (a en dan hierna 0 of meer b's)
omdat (a en dan nul a's) = (a en dan nul b's), in dit geval doet de xor vreemd aan.
Kan je dergelijke voorbeelden in je boek terugvinden?
Re: reguliere expressies
Heb het gevonden bij de oefeningen:
(a+b)* is een string waar 0, 1 of meer a's of b's in voorkomen in willekeurige volgorde, dus ook abbababbabababababa...
(a+b)* is een string waar 0, 1 of meer a's of b's in voorkomen in willekeurige volgorde, dus ook abbababbabababababa...
- meneer van Hoesel
- Vergevorderde
- Berichten: 395
- Lid geworden op: 20 apr 2010, 14:43
- Locatie: Zwolle
Re: reguliere expressies
het plus-teken betekent één of meerdere herhalingenvwpolo02 schreef:Wat is de taal die voortgebracht kan worden door a.(a+b)*
Dit is de taal:
L = a ( en dan hierna 0 of meer a's of 0 of meer b's)
dus a(aaaa...) of a(bbbbb...)
Mijn vraag:
Kan dit ook a(aaabbbb...) zijn? En a(babbabbab...)? Of is het '+' teken een exclusieve or?
Zuiver RegEx betekent a.(a+b)*
een 'a'
gevolgd door 'een letter'
gevolgd door nul of meer herhalingen van
één of meer 'a'
één 'b'
dus:
nul herhalingen:
ad
één herhaling met één a:
agab
één herhaling met meerdere a's:
araaaaaaaaaaaab
meerdere herhalingen:
afabaaaaaababaaaaaaaaaaaababababaaaaab