2017-02-09 3 views
0

Ich brauche Hilfe beim Schreiben von Regex.mehrere Regex-Abfragen

dies ist mein erster regulärer Ausdruck (entsprechen entweder Englisch oder Hebräisch Zeichen):

/^(?:[\u0590-\u05FF\uFB1D-\uFB40]+|[\w]+)$/i 

dieses Spiel sein sollte: abc, אבג diese nicht übereinstimmen sollten: a, b, a א

Es funktioniert gut, ich muss nur die Grenze für mehr als 1 Char hinzufügen.

Der nächste sollte genauso sein wie der obige (einschließlich der mehr als 1 char Einschränkung), aber auch Leerzeichen zulassen. sollte diese Begegnung: abcx, abcx ascx, דגהק, שגד דשגב diese nicht übereinstimmen sollte: a, b, asace דגעההת, ascasv אקיכרעקכ

Der letzte Regex Ausdruck alle Ziffern sein sollte, enthalten genau 10 Ziffern und Beginnen Sie mit den Zahlen 05. Dies sollte übereinstimmen: 0528547114 Dies sollte nicht übereinstimmen: Ziffern, Sonderzeichen, weniger oder mehr als 10 Ziffern. Ich verwende JS und C# Regex. Jede Hilfe würde sehr geschätzt werden.

+1

Bitte geben Sie Beispiele ein, was passen sollte und was nicht. Auch welche Variante von Regex verwenden Sie? – Richard

+0

Lesen Sie [fragen]. Erstelle ein [mcve]. – MYGz

+0

Ich habe meine Frage bearbeitet, ich hoffe, es ist jetzt klarer. – Jonny

Antwort

2

Um mehr als 1 Zeichen entsprechen {2,} die quantifier anstelle von +:

/^(?:[\u0590-\u05FF\uFB1D-\uFB40]{2,}|[\w]{2,})$/i 

Raum passen, fügen Sie ihn in der Zeichenklasse:

/^(?:[\u0590-\u05FF\uFB1D-\uFB40 ]{2,}|[\w ]{2,})$/i 

10 Ziffern entsprechen:

/^(?:[\u0590-\u05FF\uFB1D-\uFB40 ]{2,}|[\w ]{2,}|05\d{8})$/i 

Um mehrere Wörter getrennt zu finden b y ein Leerzeichen:

/^(?:[\u0590-\u05FF\uFB1D-\uFB40]{2,}(?: [\u0590-\u05FF\uFB1D-\uFB40]{2,})*|\w{2,}(?: \w{2,})*|05\d{8})$/i 
+0

danke, die ersten beiden waren genau das, was ich brauchte, aber das letzte war nicht - ich brauche es nur Nummern (0-9) zu haben, genau 10 Nummern und die ersten 2 Nummern 05 zu haben. etwas wie: 053256899. Ich denke, ich habe es:^05 + \ d {8} $ – Jonny

+0

@Jonny: einfach '\ d {10}' in '05 \ d {8}' ändern, siehe meine Bearbeitung. – Toto

+0

vielen Dank – Jonny

Verwandte Themen