Урок №11. Начало и конец строки

  Юрий  | 

  Обновл. 17 Ноя 2019  | 

 251

До этого момента мы писали регулярные выражения, которые лишь частично соответствовали фрагментам данных из текста. Иногда это нежелательно, например, представьте, что нам нужно найти слово success в лог-файле. Мы ведь не хотим, чтобы наш шаблон соответствовал строке с содержимым Error: unsuccessful operation? Вот почему регулярные выражения рекомендуется писать как можно конкретнее, дабы избежать ложных срабатываний при сопоставлении с текстом.

Одним из способов ужесточения наших шаблонов является указания начала и конца строки с помощью метасимволов ^ (начало строки) и $ (конец строки). В примере выше мы можем использовать шаблон ^success, чтобы соответствовать только тем строкам, которые начинаются со слова success, а не строке Error: unsuccessful operation. И если вы будете комбинировать эти два метасимвола, то вы создадите шаблон, который будет полностью соответствовать строке в её начале и в её конце.

Обратите внимание, использование метасимвола ^ в квадратных скобках [^...] приводит к исключению определённых символов (как мы уже знаем из предыдущих уроков), а без квадратных скобок — к обозначению начала строки (как мы уже знаем из этого урока).

Попробуйте написать шаблон, соответствующий указанной строке ниже, используя метасимволы выше.

Задание №11: Начало и конец строки
Задание Текст
Соответствовать Mission: successful To be completed
Пропустить Last Mission: unsuccessful To be completed
Пропустить Next Mission: successful upon capture of target To be completed

Решение Выражение Mission: successful будет соответствовать каждой строке, поэтому нам нужно использовать метасимволы начала и конца строки в регулярке ^Mission: successful$, чтобы соответствовать только той строке, которая начинается с Mission и заканчивается successful.
Решите задание выше, чтобы перейти к следующему уроку, либо смотрите Решение.

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (1 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *