Ich habe die folgenden Regexp, die sequenzielle Ziffern wie "123456" oder "654321" in C# erkennen, aber nicht in die entsprechende Javascript regexp Zeichenfolge konvertieren kann.Korrespondierende Regexp In Javascript
string re = @"(?x)
^
# fail if...
(?!
# sequential ascending
(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){5} \d $
|
# sequential descending
(?:1(?=0)|2(?=1)|3(?=2)|4(?=3)|5(?=4)|6(?=5)|7(?=6)|8(?=7)|9(?=8)){5} \d $
)
";
Ich habe versucht, die folgende Javascript, aber es scheint immer wahr zurück:
var re = new RegExp("^(?!(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){5} \d $|(?:1(?=0)|2(?=1)|3(?=2)|4(?=3)|5(?=4)|6(?=5)|7(?=6)|8(?=7)|9(?=8)){5} \d $)");
var isMatch = re.test(str);
Wie ich bereits erwähnt, entfernen Sie alle Leerzeichen. https://regex101.com/r/kNHkMn/2 –
@ WiktorStribiżew Ich tat, aber es testet immer noch wahr für beide "123456" und "135468". –
'123456' stimmt nicht überein, und' 135468' sieht nach der Regex-Datei aus. Die gleichen Ergebnisse erhalten Sie unter http://regexstorm.net/tester –