regulärer Ausdruck der Verwirrung \s und " "
Im regulären Ausdruck, ich weiß, Wann verwenden Sie \ \ s zu vertreten, einen Platz, aber im folgenden Fall, würde Sie anders sein:
- /a\sb/- - - - bei a \s
- /a b/---mit leere Feld
vielen Dank, wenn Sie mir erklären.
- Die regex-engine, die Sie verwenden, ist äußerst relevant.
- In der modernen regex:
\s
ist ein Raum, der nicht/s
- Tippfehler
\s
, nicht '/s' - Und in den meisten Sie mit einem Leerzeichen, nicht nur Räume, nicht aber in allen.
- my bad, habe ich geändert zu \en. Ich meine, \s und "a real space" Verschieden sind oder nicht. Ich weiß, es ist eine seltsame Frage, aber es immer noch nervt mich sehr.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den \s-Zeichen der Klasse passt zu allen "whitespace-Zeichen" nicht nur Räume. Dies beinhaltet die tabs (\t), und wenn multiline-matching erlaubt ist, es enthält carriage return (\r) und newline (\n). Theoretisch, wenn Ihr die engine für reguläre Ausdrücke verarbeitet unicode, es gibt auch unicode-whitespace-Zeichen \s mithalten können, obwohl Ihre Laufleistung variieren.
Also mit einem string wie "a\t b" passen Sie es mit der regex /a\s+b/, in Fall, dass Sie nützlich ist.