1 Antwort

das Minus ist als "bis" zu lesen:

A-Z: A bis Z, also ABCDE...Z -> irgend ein Großbuchstabe

das Plus bedeutet: der vorangegangene Ausdruck kommt beliebig oft, allerdings mindesten en Mal vor.

Ja aber was soll das denn heißen ' bis ' das wär doch dann das gleiche wie '

0
@okarin

Deinen Einwand mit ' verstehe ich nicht.

[A-Z] bezeichnet einen Großbuchstaben zwischen A und Z.

0
@gfntom

meinst du diesen Teil:

''-'

?

ja, das würde ich auch so interpretieren, dass dies ' entspricht.

Vielleicht kann jemand mehr dazu sagen?

0
@gfntom

Eigentlich sollte es wohl heißen: von " bis '. Das macht aber nur Sinn, wenn hierbei alle ASCII-Zeichen von 34 bis 39 ["#$%&'] gelistet werden sollen.
Da kann ich aber nichts zu sagen, da ich den Kontext nicht kenne.

Ich vermute aber mal, dass der Autor das Minus selbst [-] mit einschließen wollte. Daher würden folgende Ausdrücke mehr Sinn ergeben:

[a-zA-Z\s"'\-]
[a-zA-Z\s"'-]

Jede Programmier-Umgebung interpretiert RegExp meist ein wenig anders. Deshalb habe ich mal beide Möglichkeiten notiert.

Der Backslash dient (manchmal) zur Literalisierung, d.h. dass das Minus nicht als Bereichsfunktion, sondern als Literal/Buchstabe ausgewertet werden soll.

Meistens reicht es aber aus, das Minus an das Ende des Bereichs zu stellen, um es als Literal interpretiert zu bekommen.

Leider kann ich Dir jetzt nicht sagen, wie genau C++ dies interpretiert, daher müsstest Du mal ausprobieren, ob mein erster Ausdruck ggf. auch das Backslash selbst mit einbezieht.

0