/ / Regex in der Mitte eines Strings - PHP, Regex, String

Regex in der Mitte eines Strings - PHP, Regex, String

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 № 1

Wenn 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
}