'? ' - Регулярное выражение - js
let american = "color"; let rainbowRegex= /colou?r/; rainbowRegex.test(american); // Returns true -- why?
Что я уже пробовал:
чтобы понять и попробовать другие примеры. но все равно я ничего не понимаю
let american = "color"; let rainbowRegex= /colou?r/; rainbowRegex.test(american); // Returns true -- why?
U является необязательным в регулярном выражении, как это обозначается ?
Так что и "цвет", и "цвет" будут совпадать.
Введите colou?r в поле regex здесь, чтобы увидеть:
Debuggex: онлайн-тестер визуальных регулярных выражений. JavaScript, Python и PCRE.[^]
Цитата:'? ' - Регулярное выражение - js
Потому что"? " само по себе (без "*" или " + " перед ним) говорит "ноль или единица" предыдущего элемента.
Так, "красоч?Р" соответствует слову "цвет" или "цвет", но не "colotr".
Как я и предлагал в прошлый раз, возьмите копию Экспрессо[^] - это бесплатно, и он проверяет и генерирует регулярные выражения.
Это бы вам все объяснило!
итак,"? " просто отклоняет заднее слово этого, а затем проверяет?
Нет, прочтите, что я сказал:
'?' on it's own ... says "zero or one" of the preceding element.