Ich habe eine String-Variable, die durch Verkettung größer wird. Ich muss jeden Teilstring (jede Schleifeniteration) validieren.wie Schritt für Schritt
Ich erstellte ein Muster, um die endgültige gültige Form der Zeichenfolge zu entsprechen.
Wie kann ich jeden Teilstring (teilweise, aber in der richtigen Reihenfolge) des Strings validieren?
$pattern = "#\{/?MYTAG(\d*)?\}#i"
$myString = ''
while (true) {
$myString .= $aChar;
// { => valid
// {m => valid
// {my => valid
// {myz => invalid break the loop
if (preg_match($pattern, $myString)) {
}
}
Ich habe versucht, die ?
geändert, um das Zeichen optional zu machen. Aber dann stimmt es mit der Teilzeichenfolge überein:
// {mysdf
// it matches {my
// I want to return false, not get the valid part of the string
Ich hoffe, das macht Sinn.
Sie suchen wahrscheinlich so etwas wie: 'while (preg_match ($ pattern, $ myString)) {' – arkascha
@arkascha Mein Muster stimmt nur mit der endgültigen Form der Zeichenfolge überein, also wird dies nicht funktionieren. dh es passt nur, wenn es komplett ist – giannisf
Sie können nicht, PHP regexes unterstützt nicht fuzzy/teilweise übereinstimmen. Sie müssen einen anderen Weg finden. * (Zum Beispiel können Sie auf die schließende geschweifte Klammer "warten" und dann Ihr Muster testen) * –