Hallo,
Aber wozu sind eigentlich die Slashes am Anfang und am Ende
des Strings?
Nachdem was ich gefunden habe stehen die für den Anfang und
das Ende des Ausdrucks, nur wozu? In dem String kommt doch eh
nur der Ausdruck vor, warum also nochmal extra ein Start und
Stopzeichen?
Sowohl bei php als auch bei Reg Ausdrücken habe ich dazu
nichts gefunden…
Es wird eine extra-Begrenzung gebraucht, weil
der reguläre Ausdruck auch sog. „Modifizierer“
wie /x oder /i enthalten kann. Es ist beinahe
egal, welches Begrenzungszeichen man verwendet,
es darf nur nicht im Ausdruck vorkommen.
Siehe:
...
$zeug = '123456';
$begrenzer= Array(
'/' =\> '/',
'(' =\> ')',
' '\>',
'{' =\> '}',
'[' =\> ']',
'"' =\> '"',
'\''=\>'\'',
'|' =\> '|',
'\_' =\> '\_',
'?' =\> '?',
'^' =\> '^', # kommt im Regexp vor, geht nicht
);
$modifier = 'ix'; # /i/x/g
while(list($links,$rechts)=each($begrenzer)) {
echo "test $links ... $rechts,\t\t";
$regexp = $links . '^\d{1,6}$' . $rechts . $modifier;
echo "$regexp =".(preg\_match($regexp, $zeug) ? ' ok!' : ' nicht ok!')."\n";
}
...
Grüße
CMБ