/ / Regex Doppelzeichen Eingang in Ruby - Ruby, Regex

Regex Doppelzeichen Eingang in Ruby - Ruby, Regex

Ich muss nicht mehr als eine Periode zulassen (.) in der String-Eingabe. Was ist der beste Weg, um es mit Ruby Regex zu tun?

Antworten auf Kommentare:

Ich möchte die Eingabe von nur einer Periode in der E-Mail-Adresse während der E-Mail-Registrierung beschränken. Ich habe grundlegende E-Mail-Regex für E-Mail-Eingabe. Mein Wunder ist, wenn es möglich ist, die Anzahl der (.) durch die Regex selbst, oder ich sollte Ruby-Bibliotheken verwenden.

Ja, es ist eine neue Frage.

Regulärer Ausdruck ist so

/A([^@s]+)@((?:[-a-z0-9]+.)+[a-z]{2,})Z/i

Wie lässt man nur einen Zeitraum innerhalb eines Teils davon zu?

Antworten:

2 für die Antwort № 1

Angenommen, Sie meinen höchstens eine Periode in dem Teilvor dem @, theoretisch wäre es möglich, dies mit der folgenden Regex zu tun (es erlaubt keinen Punkt als erstes oder letztes Zeichen und tut keine andere Validierung):

^[^.]+(.[^.]+)?$

Der obige Regex behandelt nur den Teil vor dem@, müssen Sie den Rest der Regex selbst hinzufügen. Es entspricht im Wesentlichen einer Gruppe von 1 oder mehr Nicht-Periodenzeichen, gefolgt von einer optionalen Gruppe eines Zeitraums und gefolgt von 1 oder mehreren Nicht-Periodenzeichen.

Ich bin aber neugierig, warum du das einschränken willstRegistrierung für Benutzer mit höchstens einer Periode in ihrer E-Mail-Adresse ... das scheint keine vernünftige Einschränkung zu sein, da es für Benutzer recht realistisch ist, mehr als eine Periode in ihrer Adresse zu haben.