Почему не работает ограничение количества символов {n,m}
var re = /c(?=a{3,})/; // выражение var str = 'caandy'; // null var str = 'caaandy'; // c var re = /c(?=a{3,4})/; // Добавляю второй параметр var str = 'caaaaaaandy'; // все равно выводит с Почему ДО минимального предела условие работает, а с ограничением на максимум нет? Хочется сказать, что это все js виноват... :) все смайлы, как смайлы, а улыбающийся, какой-то стремный... Опять хочется сказать, что это js виноват))))) |
эммм
так и должно. с(?=a{3,4}) заканчивает свою работу когда находит 'сaaa', что дальше ей все равно и {3,4} в этой конструкции не имеет смысла достаточно {3}, т.к. я уже написал выше "находит 'сaaa', что дальше ей все равно" То, что ты хочешь. var re = /c(?=a{3})(?!a{5})/; var str = 'caaandy'; alert(str.match(re)); var str = 'caaaandy'; alert(str.match(re)); var str = 'caaaaandy'; alert(str.match(re)); |
Часовой пояс GMT +3, время: 04:28. |