Heim > Web-Frontend > js-Tutorial > Hauptteil

Bestandsaufnahme der Fallstricke von eckigen Klammern in JavaScript-Kenntnissen für reguläre Ausdrücke

WBOY
Freigeben: 2016-05-16 15:10:29
Original
1152 Leute haben es durchsucht

Bei der Verwendung regulärer Ausdrücke in JavaScript müssen Sie auf eine Gefahr innerhalb der Klammern achten, nämlich das Problem der Metazeichen innerhalb der Klammern. Ich bin selbst in eine Falle getappt, und nach der Online-Suche sind viele Menschen in diese Falle getappt, daher werde ich eine grobe Zusammenfassung geben.

Die eckigen Klammern werden in regulären Ausdrücken als Zeichengruppe(Zeichenklasse) bezeichnet. Einige Bücher übersetzen es als Zeichenklasse, andere übersetzen es in Zeichensatz . Ich denke, dass Zeichengruppen besser sind. Schließlich repräsentiert die Klasse die „Klasse“ in der objektorientierten Informatik. Wie der Name schon sagt, handelt es sich bei einer Zeichengruppe um eine Gruppe von Zeichen, die eine Vielzahl von Zeichen darstellt, die an einer Position erscheinen können. Beachten Sie, dass hier der Schwerpunkt darauf liegt, nur eine Position abzugleichen. (Dieser Absatz stammt von - http://www.cnblogs.com/snandy/p/3662423.html)

habe einen Ort verwendet, um beliebige Zeichen abzurufen, also habe ich [.n]* verwendet. Wenn ich es teste, wird es daher „true“ zurückgeben, aber es ist falsch, es in die spezifische Umgebung einzufügen. . . . . . Oh mein Gott, ich kann es nicht verstehen.

Entscheidend testen var testp = /xx>[.n]*/ testp.test("xx>asdfdfasd"); Es ist immer noch wahr, wenn Sie „xx>“ hinten setzen, aber es ist wahr, wenn Sie setzen „xx>“ auf beiden Seiten. Warum ist das so? ? ? ? ? ?

Also habe ich var testp = /(xx>[.n]*)/ neu erstellt und Klammern hinzugefügt , um die passende Zeichenfolge zu erfassen . Nach dem Test wurde festgestellt, dass RegExp.$1 leer ist. . . . . Es ist leer. . . . Warum? ? ? ?

Wenn der Zeichenfolgenparameter von test in (.......") geändert wird, wird diese Punktfolge angezeigt. Daher stellen die Punkte in den eckigen Klammern nur Punkte dar, nicht alles andere, keine Metazeichenteilung Die Bedeutung eines einzelnen Zeichens ist anders. Also habe ich online gesucht:

„Viele Metazeichen sind zu gewöhnlichen Zeichen in der Zeichengruppe geworden“ Es sind normale Zeichen anstelle von Metazeichen geworden, und es gibt andere Dinge wie „?“, „+“, und „*“ werden zu gewöhnlichen Zeichen, sobald sie in eckige Klammern gesetzt werden.

Sie müssen also immer noch auf diese Gefahr achten. . . .

Übrigens kann jedes Zeichen in durch [sS] ersetzt werden.

Das [pit] in eckigen Klammern im obigen Inventar der regulären Javascript-Ausdrücke ist der gesamte vom Herausgeber geteilte Inhalt. Ich hoffe, dass er Ihnen eine Referenz geben kann, und ich hoffe, dass Sie Script Home unterstützen.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage