Ich habe als gespeichert | 1 | 7 | 11 | Ich muss preg_match verwenden, um | 7 | zu überprüfen ist da oder | 11 | gibt es etc, Wie mache ich das?PHP Preg_match genau passendes Wort
Antwort
Verwenden Sie die schnellere strpos, wenn Sie nur auf das Vorhandensein von zwei Zahlen überprüfen müssen.
if(strpos($mystring, '|7|') !== FALSE AND strpos($mystring, '|11|') !== FALSE)
{
// Found them
}
Oder mit langsamer regex die Nummer
preg_match('/\|(7|11)\|/', $mystring, $match);
Verwenden regexpal zu testen Regexes kostenlos zu erfassen.
Wenn Sie wirklich preg_match
verwenden möchten (auch wenn ich strpos
empfehlen, wie auf Xeoncross' Antwort) verwenden:
if (preg_match('/\|(7|11)\|/', $string))
{
//found
}
Um klar zu sein, können Sie ersetzen '(7 | 11)' für '(7 | 11 | 13)' zum Beispiel, um eine 7, 11 oder 13 zu entsprechen. – cambraca
Angenommen, Ihre String beginnt und endet immer mit einem |
:
strpos($string, '|'.$number.'|'));
Verwenden \b
vor und nach dem Ausdruck es als ganzes Wort nur zum Spiel:
$str1 = 'foo bar'; // has matches (foo, bar)
$str2 = 'barman foobar'; // no matches
$test1 = preg_match('/\b(foo|bar)\b/', $str1);
$test2 = preg_match('/\b(foo|bar)\b/', $str2);
var_dump($test1); // 1
var_dump($test2); // 0
So in Ihrem Beispiel wäre es:
$str1 = '|1|77|111|'; // has matches (1)
$str2 = '|01|77|111|'; // no matches
$test1 = preg_match('/\b(1|7|11)\b/', $str1);
$test2 = preg_match('/\b(1|7|11)\b/', $str2);
var_dump($test1); // 1
var_dump($test2); // 0
- 1. Genau passendes Wort in Linux
- 2. Mysql Abfrage genau passendes Wort und entfernen Sie das genaue Wort aus der Datenbank
- 3. Wie genau stimmen drei Ziffern in PHP preg_match überein?
- 4. php, regex preg_match ein bestimmtes Wort 0 oder 1 Mal
- 5. PHP - preg_match()
- 6. PHP preg_grep umgekehrt passendes Muster
- 7. regex Frage PHP preg_match
- 8. php preg_match nicht gierig?
- 9. PHP preg_match Bereich
- 10. PHP Regex preg_match Extraktion
- 11. PHP preg_match vollständige Zeichenfolge
- 12. php preg_match Zeichen
- 13. PHP - preg_match regex
- 14. PHP preg_match - unerwarteter Ausgang
- 15. PHP Pfad mit preg_match?
- 16. Get Wort aus Zeichenfolge - PHP
- 17. Wie erhalten Sie ein passendes Wort, keine Zeile
- 18. Textzeichen ersetzen passendes Wort ‚Warenkorb‘ ersetzen mit img Symbol
- 19. awk, wie Linien, die durch folgende Zahl passendes Wort sortieren
- 20. PHP preg_match: Wie funktioniert die Übergabe einer Variablen an preg_match?
- 21. PHP preg_match Länge 3276 Grenze
- 22. PHP preg_match Teil der URL
- 23. PHP preg_match gibt immer falsch
- 24. php preg_match. Zum Array hinzufügen
- 25. PHP preg_match für leere Zeilen
- 26. So verwenden preg_match richtig PHP
- 27. Genaues Wort mit einem beliebigen Zeichen Regex
- 28. R Statistik: Wie ein Wort genau grep
- 29. Java - String genau das Wort ersetzen
- 30. preg_match nicht in PHP> 5.3
Dies wird auch für die Zahlen TRUE zurück, wie 17, 27, 71 und 111, 211 und 114 ein paar – Yeroon
Dank zu nennen, dann ist dies eine viel einfachere Art und Weise und funktioniert! – ITg
@Yeroon ah, nur vergessen, die Pfeife char. – Xeoncross