У меня есть следующее regexp, которое должно обнаруживать последовательные цифры, такие как «123456» или «654321» в C#, но cannnot преобразовать его в соответствующую строку regexp javascript.Соответствующее регулярное выражение в 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 $
)
";
Я пробовал следующий Javascript, но это, кажется, всегда возвращает истину:
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);
Как я уже говорил, удалите все пробела. https://regex101.com/r/kNHkMn/2 –
@ WiktorStribiżew Я сделал, но он по-прежнему проверяет истину как для «123456», так и «135468». –
'123456' не соответствует, и' 135468' выглядит действительным в соответствии с регулярным выражением. Те же результаты получены по адресу http://regexstorm.net/tester –