/ / php preg Übereinstimmung finde String in "" mit limit - php, regex, preg-match

php preg Übereinstimmung finde String in "" mit limit - php, regex, preg-match

Das ist mein Text:

pagination},queryId:"472f257a40c653c64c666ce877d59d2b", val:"598f257a40c653c64c666ce877d59d2b"

ich muss finden 472f257a40c653c64c666ce877d59d2b und 598f257a40c653c64c666ce877d59d2b.

Diese sind alle zwischen ". Ich brauche nur Zeichenfolgen zwischen" ", und die 32 nicht überschreitet.

Hier ist mein Code:

preg_match_all("/"^(.*?){32}$"/mis", $get, $results);

Antworten:

0 für die Antwort № 1

Regex: "([a-z0-9]{32})" oder (?<=")[a-z0-9]{32}(?=")

$text = "pagination},queryId:"472f257a40c653c64c666ce877d59d2b", val:"598f257a40c653c64c666ce877d59d2b"";

preg_match_all("/"([a-z0-9]{32})"/", $text, $match);
print_r($match);

Ausgabe:

Array
(
[0] => Array
(
[0] => "472f257a40c653c64c666ce877d59d2b"
[1] => "598f257a40c653c64c666ce877d59d2b"
)

[1] => Array
(
[0] => 472f257a40c653c64c666ce877d59d2b
[1] => 598f257a40c653c64c666ce877d59d2b
)
)

1 für die Antwort № 2

Du könntest benutzen :"K[a-fd]{32}(?=")

Erläuterung

  • Spiel :"
  • Setzen Sie den Startpunkt der gemeldeten Übereinstimmung zurück K
  • Match Zeichen von a bis f und von 0 bis 9 [a-fd]{32}
  • Eine positive Vorausschau, die Folgendes behauptet, ist ein " (?=")

Beispielsweise:

$re = "/:"K[a-fd]{32}(?=")/";
$str = "pagination},queryId:"472f257a40c653c64c666ce877d59d2b", val:"598f257a40c653c64c666ce877d59d2b"";
preg_match_all($re, $str, $matches);
var_dump($matches[0]);

Das würde ergeben:

array(2) {
[0]=>
string(32) "472f257a40c653c64c666ce877d59d2b"
[1]=>
string(32) "598f257a40c653c64c666ce877d59d2b"
}

Ausgabe PHP Beispiel