2 Stimmen

JavaScript RegExp: R-Namenskonventionen

Wir sind alle mit den Namenskonventionen in R vertraut (wenn nicht: Venables & Smith - Einführung in R, Kapitel 1.8 ). Reguläre Ausdrücke hingegen bleiben Neuland und der bisher meistgehasste Teil meines Programmierlebens ... Vor kurzem habe ich offiziell JavaScript Rekapitulation begonnen, und ich versuche, präzise RegExp zu erstellen, um korrekte R-Objektnamen zu überprüfen.

Kurzes Intro: Objektnamen müssen beginnen mit . oder Klein-/Großbuchstaben, und wenn sie mit . kann nicht mit numerisch... fortgesetzt werden, danach sind alphanumerische Zeichen erlaubt mit . und Unterstrich _ .

Lange Rede kurzer Sinn, hier ist mein JS-Code:

var txt = "._.";
var inc = /^\.(?!\d)|^[a-z\.]/i;

document.write(inc.test(txt));

Mit diesem Ansatz wird der erste Teil ( . und/oder Klein-/Großbuchstaben und Ziffern nach . ), aber ich kann nicht etwas übergeben wie & [\w\.] . Ich kann eine Funktion schreiben, die sich um dieses Problem kümmert, aber ist es überhaupt möglich, dies mit einer einzigen RegExp zu verwalten?

2voto

Bryan Punkte 2870

Ich bin mit R und seinen Namenskonventionen nicht vertraut, aber ich werde es ausprobieren:

Wenn Sie nur überprüfen wollen, ob der Name beginnt korrekt auszuführen, müssen Sie lediglich die \. von der Charakterklasse, so dass Sie mit: /^\.(?!\d)|^[a-z]/i . Andernfalls wird die . kann immer noch das erste Zeichen sein, ohne Einschränkungen für die übrigen Zeichen.

Wenn Sie überprüfen wollen, ob der gesamte Name korrekt ist, sollten Sie etwa so vorgehen:

/^(?:\.(?!\d)|[a-z])[a-z0-9_\.]+$/i

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X