Cercando di dare un senso al testo dal manuale.
http://php.net/manual/en/regexp.reference.escape.php
singole e doppie stringhe PHP citati hanno un significato speciale di backslash. Pertanto, se \ deve essere associato ad un'espressione regolare \\, allora "\\\\" o "\\\\" devono essere utilizzati nel codice PHP.
Potrei non essere corretto ma ci vado.
Quando si utilizza qualcosa come
preg_match("/\\s/", $myString)
quello che sta facendo è la conversione \\ a \, che a sua volta rende la stringa da \ s in tal modo si comporta normalmente, vale a dire il suo significato non cambia e il regex creata è '/ \ s /' interno, che corrisponde "spazi"
per abbinare \ s in una stringa che avrebbe dovuto fare qualcosa come segue
preg_match("/\\\\s/", $myString)
Quindi la risposta è \ s o \\ s nel la stringa regex non fa alcuna differenza, personalmente penso che l'uso di \ s sia più semplice e facile da capire.
@Tushar: Se "\ s" => regex s, allora perché preg_match ("/ \ s /", "ciao ciao") = 1? – joHN
@joHN: l'output è corretto per '("/\ s/"," ciao ciao ") = 1' perché c'è solo uno spazio bianco. la prima espressione proverà ad abbinare '\ s' nella stringa..sua qui https://regex101.com/ – rock321987
@Tushar: prova var_dump (preg_match ("/\\ s/"," \ shello ", $ matches)); – joHN