Wie kann ich eine Zeichenfolge mit Regex in einem Teil überprüfen
Ich möchte mich diesen Bedingungen anschließen.
if ($string == "form[new_search_param][1][searchParam]") {}
und
if ($string == "form[new_search_param][2][searchParam]") {}
zu einer Art von diesem
if ($string == "form[new_search_param][" . ^[0-9] . "[searchParam]") {}
Ich frage mich, ob ich Regex in String verwenden kann?
Antworten:
3 für die Antwort № 1Wenn ich richtig erkläre, suchst du etwa so:
if( preg_match( "/form[new_search_param][[0-9]][searchParam]/", $string )) {}
Eckige Klammern müssen in einem regulären Ausdruck maskiert werden.
Hinweis: Dies stimmt nicht mit der Zeichenfolge überein:
form[new_search_param][10][searchParam]
seit du nach genau einer Nummer suchst. Um eine oder mehrere Zahlen zu akzeptieren, schreiben Sie:
if( preg_match( "/form[new_search_param][[0-9]+][searchParam]/", $string )) {}
Zusätzlicher Vorschlag:
if( preg_match( "/^form[new_search_param][d+][searchParam]$/", $string )) {}
Dies wird nicht übereinstimmen, wenn vor oder hinter der Suchphrase zusätzlicher Inhalt wie folgt vorhanden ist:
prefixedtext_form[new_search_param][10][searchParam]_suffixedtext
2 für die Antwort № 2
Sie müssen verwenden preg_match
:
Sucht den Betreff für eine Übereinstimmung mit dem im Muster angegebenen regulären Ausdruck.
http://php.net/manual/en/function.preg-match.php
if(preg_match("/form[new_search_param][[0-9]][searchParam]/", $string)) {
// Your code
}