Книга: Выразительный JavaScript
Границы слова и строки
Границы слова и строки
К сожалению, findDate
так же радостно извлечёт бессмысленную дату 00-1-3000 из строки "100-1-30000"
. Совпадение может случиться в любом месте строки, так что в данном случае он просто начнёт со второго символа и закончит на предпоследнем.
Если нам надо принудить совпадение взять всю строку целиком, мы используем метки ^
и $
. ^
совпадает с началом строки, а $
– с концом. Поэтому /^d+$/
совпадает со строкой, состоящей только из одной или нескольких цифр, /^!/
совпадает со строкой, начинающейся с восклицательного знака, а /x^/
не совпадает ни с какой строчкой (перед началом строки не может быть x
).
Если, с другой стороны, нам просто надо убедиться, что дата начинается и заканчивается на границе слова, мы используем метку b. Границей слова может быть начало или конец строки, или любое место строки, где с одной стороны стоит алфавитно-цифровой символ w
, а с другой – не алфавитно-цифровой.
console.log(/cat/.test("concatenate"));
// ? true
console.log(/bcatb/.test("concatenate"));
// ? false
Отметим, что метка границы не представляет из себя символ. Это просто ограничение, обозначающее, что совпадение происходит только если выполняется определённое условие.
- Создаём регулярное выражение
- Проверяем на совпадения
- Ищем набор символов
- Повторяем части шаблона
- Группировка подвыражений
- Совпадения и группы
- Тип даты
- Границы слова и строки
- Шаблоны с выбором
- Механизм поиска
- Откаты
- Метод replace
- Жадность
- Динамическое создание объектов RegExp
- Метод search
- Свойство lastIndex
- Циклы по вхождениям
- Разбор INI файлы
- Международные символы
- Итог
- Упражнения
- Инструмент командной строки gbak
- Ключевые слова
- Инструмент командной строки gfix
- 1.2.1. Ключевые слова и идентификаторы
- Новые ключевые слова
- Преобразование строки в целое: stoi( )
- Прием 45. «Простые слова. Четкие идеи. Сильные эмоции»
- Вот как мы можем повлиять на коммерческий фактор (иными словами, повысить доверие посетителей к сайту)
- Приложение 11. Зарезервированные слова
- Запросы, подсчитывающие строки
- Как открыть каталог с помощью командной строки?
- Как заблокировать компьютер с помощью командной строки?