2016-04-15 15 views
1

Ich bin neu in Regex, also bitte mit meiner blöden Frage nackt.JS Regex letzten zwei Ziffern entspricht den ersten beiden Ziffern

Ich habe versucht, dies für ein paar Stunden zu arbeiten, und ich kann immer noch nicht ich zur Arbeit, wie ich will.

Was ich brauche, ist, ich habe 4 Nummer, und ich brauche die letzten 2 Zahlen, wäre das gleiche wie die ersten 2.
Wie hat dies ein Spiel:

1212 
1313 
1414 

Das in der Andererseits seits~~POS=HEADCOMP sollte kein Spiel sein:

1513 
1314 
1236 

ich nicht scheinen, um es an der Arbeit, und ich bin ratlos, wie eigentlich zu tun.
Dies ist, was ich bisher habe:

/^(?:(\d{2}))+$/g 

Kann ich etwas Hilfe bekommen, bewegen auf

? oder ein Finger zeigt in die richtige Richtung, wie man es macht oder wo man es nachschlagen kann, damit ich die Antwort selbst finden kann.
Vielen Dank im Voraus

Antwort

2

Sie können

/^(\d{2})\1$/ 

für 4-stellige Strings verwenden. Siehe this regex demo.

var good_strs = ["1212", "1313", "1414"]; 
 
var bad_strs = ["1513", "1314", "1236"]; 
 
var res_good = good_strs.map(x => /^(\d{2})\1$/.test(x)); 
 
document.body.innerHTML = "Good string test:<pre>" + JSON.stringify(res_good, 0, 4) + "</pre>"; 
 
var res_bad = bad_strs.map(x => /^(\d{2})\1$/.test(x)); 
 
document.body.innerHTML += "Bad string test:<pre>" + JSON.stringify(res_bad, 0, 4) + "</pre>";

Wenn es irgendwelche Zeichen dazwischen sein kann, legen Sie einfach [\s\S]* zwischendurch:

/^(\d{2})[\s\S]*\1$/ 

another regex demo (faul Anpassung für Demo nur verwendet) Siehe.

+0

Vielen Dank! Ich habe es zwar schon versucht, aber da geht es, hat geklappt! Kannst du mir sagen, warum '\ 1' den Job gemacht hat und was er tut? Wenn das nicht zu viel verlangt ist. – Th3Moron

+0

Dies ist eine Rückwärtsreferenz auf einen Text, der bereits mit einem Paar nicht erkannter Klammern innerhalb des Regex-Musters übereinstimmt und * eingefangen wurde. Siehe [dieses Tutorial] (http://www.regular-expressions.info/backref.html) für weitere Details. –

+0

Ahh ich sehe. Danke für die Erklärung und den Link. – Th3Moron

Verwandte Themen