2016-11-30 1 views
1

Ich habe nie zuvor reguläre Ausdrücke verwendet und ich habe einige Beispiele getestet. Was ich nicht verstehe ist, warum der reguläre Ausdruck ^([a-z] | a)$ nicht mit der Zeichenfolge 'a' übereinstimmt.

Wie ich verstanden [a-z] zu (a | b | c | ... | y | z) äquivalent ist, so [a-z] | a muss (a | b | c | ... | y | z) | a äquivalent sein, das ist die gleiche (a | b | c | ... | y | z) oder [a-z] zu sagen.

Aus diesem Grund stimmt eine Zeichenfolge str ^([a-z] | a)$ überein, wenn ^[a-z]$ übereinstimmt.

Deshalb habe ich verstehe nicht, warum die regulären Ausdruck nicht Zeichenfolge überein ‚a‘ oder ‚e‘ zum Beispiel.

PS: Ich habe dies in dieser page getestet.

+8

Da es einen beliebigen Buchstaben zwischen 'a' und 'z' ** + Leerzeichen ** oder ** Leerzeichen ** + 'a' entspricht. – JJJ

+8

Das Leerzeichen um | ist wichtig –

Antwort

5

Leerzeichen sind in regulären Ausdrücken wichtig. Entfernen Sie die Freiräume um das Rohr (|) und es sollte funktionieren.

Verwandte Themen