Was bedeutet der reguläre Ausdruck / _ / g?

94

JavaScript:

.replace(/_/g," ");

Ich habe es in meinem Code, kann mich aber nicht erinnern, warum oder was es tut! Kann einer von euch Gurus mit regulärem Ausdruck helfen?

Ich weiß, dass dies einfach erscheinen mag, aber reguläre Ausdrücke sind nicht meine Sache und das Googeln /ghat nicht viel geholfen.

Tom
quelle
nur um hinzuzufügen .. Sie können // gi verwenden, um die Groß- und Kleinschreibung nicht zu berücksichtigen! Manchmal möchten Sie Wörter in einer Zeichenfolge oder einem Absatz ändern, aber es kommt vor, dass einige von ihnen am Anfang eines Satzes stehen, sodass sie in den meisten Fällen groß geschrieben werden, wenn Sie nur das g verwenden, das nur let ersetzt Sagen Sie "Engel" und vergessen Sie "Engel" oder umgekehrt. Dies hängt davon ab, was Sie als Argumente angeben. ps: Dies funktioniert mit der replace () -Methode in JavaScript.
A.McLoof

Antworten:

151

Die Regex entspricht dem _Zeichen.

Das gbedeutet Global und bewirkt, dass der replaceAufruf alle Übereinstimmungen ersetzt, nicht nur die erste.

SLaks
quelle
26

Wie alle anderen gesagt haben, werden alle Unterstriche durch Leerzeichen ersetzt. So "Hello_there."würde werden"Hello there."

Aber zusammen mit der Antwort möchte ich Ihnen etwas vorschlagen. Verwenden Sie Kommentare.

Sagen Sie in Ihrem Code etwas wie:

// Replaces all underscores so that blah blah blah blah blah..
var hello = "Hello_there."
    .replace(/_/g, ' ');
McKayla
quelle
2

Gibt eine neue Zeichenfolge zurück, bei der alle Unterstriche in der Quellzeichenfolge durch Leerzeichen ersetzt werden.

Roy Tinker
quelle