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 № 1Regex: "([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"
}