2017-01-30 4 views
2

Hallo Ich versuche Regex zu verwenden, um sicherzustellen, dass der Benutzer mindestens drei Punkte eingegeben hat Ich denke, ich bin in der Nähe, aber im Moment wird mein Ausdruck unerwartete Ergebnisse zurückgeben.Regex Ausdruck testen

Hier ist mein Ausdruck wie von 30/01/17

/(•([\s]*[\w]+|[\.\,]*)*|\n){3,}/g 

und hier ist der Textausschnitt i Testen ist;

blahblahblahblahblahblahblah 
blahblahblahblahblahblah 
blahblahblahblahblahblah. 

• blahblahblahblahblahblah. 
•blahblahblahblahblahblah. 
blahblahblahblahblahblah. 
.•blahblah, blahblahblahblah. 

HINWEIS: Ich habe den Stillstand an Ort und Stelle in dem dritten Punkt Punkt setzen, wie es der einfachste Weg ist das unerwartete Ergebnis auszulösen. Vielen Dank im Voraus für eine Rückmeldung.

Antwort

2

Sie können einen Punkt sucht nicht Punkte [^.] dann [.] durch nicht Punkten gefolgt [^.] dreimal:

/(?:[^.]*[.][^.]){3,}/ 

Demo

Sie können die gleiche Prozedur eines verwenden, wenn das der Charakter, auf den du dich beziehst.

+0

Vielen Dank für Sie Hilfe @dawg das hat perfekt funktioniert. –

0

Sie können diese Regex ^ *•.*$ verwenden, und wenn es drei Übereinstimmungen findet, dann haben Sie drei Zeilen beginnend wird ein Aufzählungspunkt. Sie müssen das Flag multiline (m) verwenden, damit ^ und $ auch den Anfang und das Ende einer Zeile entsprechen. Ich kann Ihnen Code zeigen, wenn Sie mir sagen, welche Sprache Sie verwenden.

Wenn Sie nur sicherstellen möchten, dass der Text drei Aufzählungszeichen enthält (z. B. ••• kann funktionieren), dann verwenden Sie Regex überhaupt nicht, Ihre Sprache hat höchstwahrscheinlich eine Funktion zum Zählen von Übereinstimmungen eines Zeichens in a Zeichenfolge.

Vergessen Sie nicht, upvote! ;)

+0

Vielen Dank für Ihre Antwort, aber ich hatte gehofft, dass alle drei Punktpunkt in nur einem Match zurück zu haben, ist auch mein Problem nicht so sehr Wetter oder nicht die Punktpunkte existieren, aber sie haben irgendeine Form von Text, der ihnen benachbart ist. @Nicolas Maltais –

2

voraus einen Blick Anwendung:

^(?=(.*\.){3}).*