Урок 2. Поиск отдельных символовВ этом уроке вы научитесь выполнять простые операции поиска одного или нескольких символов. Поиск заданного текста
Так, здесь идет: Текст Hello, my name is Ben. Please visit my website at http://www.forta.com/. Регулярное выражение Ben Результат
Hello, my name is Ben. Please visit
my website at http://www.forta.com/.
Используемое здесь регулярное выражение — буквальный текст, и оно находит вхождения Ben в первоначальный текст. Давайте рассмотрим другой пример, используя тот же текст для поиска, но другое регулярное выражение: Текст Hello, my name is Ben. Please visit my website at http://www.forta.coin/. Регулярное выражение my Результат Hello, my name is Ben. Please visit my website at http://www.forta.com/.
Сколько вхождений?
По умолчанию большинство механизмов обработки регулярных выражений возвращает только первое вхождение. В предыдущем примере обычно было бы найдено только первое вхождение
Итак, почему было найдено два вхождения? В большинстве реализаций регулярных выражений предусмотрен механизм получения списка всех вхождений (обычно возвращаемых в массиве или в некотором другом специальном формате). В JavaScript, например, используя дополнительный флажок ЗамечаниеВ приложении А, "Регулярные выражения в популярных приложениях и языках", описано, как выполнить глобальный поиск с помощью того или иного языка или инструмента. Указание зависимости от регистра
Регулярные выражения чувствительны к регистру, так что ЗамечаниеВ приложении А, "Регулярные выражения в популярных приложениях и языках", описано, как сделать так, чтобы ваш язык или инструмент при выполнении операций поиска не учитывал регистр. Поиск любого символаПока с помощью регулярных выражений мы находили статический (т.е. заранее заданный) текст. Теперь мы будем пытаться найти неизвестные символы.
Чтобы идентифицировать то, что разыскивается, в регулярных выражениях используются специальные символы или наборы символов. Символ Замечание
В операции поиска файлов в DOS эквивалентом регулярного выражения
Поэтому операция поиска Вот пример: Текст sales1.xls orders3.xls sales2.xls sales3.xls apac1.xls europe2.xls na1.xls na2.xls sa1.xls Регулярное выражение sales. Результат sales1.xls orders3.xls sales2.xls sales3.xls apac1.xls europe2.xls na1.xls na2.xls sa1.xls
Здесь используется регулярное выражение ЗамечаниеЧасто термины шаблон, образец, модель обозначают регулярное выражение. ЗамечаниеЗаметьте, что регулярные выражения сопоставляют шаблоны строкам. Эти шаблоны не всегда будут совпадать со всей строкой, а только с теми символами, которые соответствуют шаблону, — даже если они являются только частью строки. В приведенном примере регулярное выражение не соответствовало имени файла; а соответствовало только части имени файла. Это различие важно помнить при передаче на обработку результатов, найденных с помощью регулярного выражения, некоторому другому коду или приложению.
Символ Текст sales.xls sales1.xls orders3.xls sales2.xls sales3.xls apac1.xls europe2.xls na1.xls na2.xls sa1.xls Регулярное выражение sales. Результат sales.xls sales1.xls orders3.xls sales2.xls sales3.xls apac1.xls europe2.xls na1.xls na2.xls sa1.xls
Этот пример содержит один дополнительный файл,
В шаблоне можно использовать несколько символов
Рассмотрим другой пример, в котором используется тот же самый текст. На сей раз вы должны найти все файлы для Северной Америки ( Текст sales1.xls orders3.xls sales2.xls sales3.xls apac1.xls europe2.xls na1.xls na2.xls sa1.xls Регулярное выражение .a. Результат salesl.xls orders3.xls sales2.xls sales3.xls apac1.xls europe2.xls na1.xls na2.xls sa1.xls
Регулярное выражение
Необходим шаблон, соответствующий Текст salesl.xls orders3.xls sales2.xls sales3.xls apac1.xls europe2.xls nal.xls na2.xls sal.xls Регулярное выражение .a.. Результат salesl.xls orders3.xls sales2.xls sales3.xls apac1.xls europe2.xls nal.xls na2.xls sa1.xls
Шаблон Поиск специальных символов
Точка
Давайте снова попробуем выполнить предыдущий пример, на сей раз предваряя точку Текст salesl.xls orders3.xls sales2.xls sales3.xls apac1.xls europe2.xls nal.xls na2.xls sal.xls Регулярное выражение .a.\.xls Результат salesl.xls orders3.xls sales2.xls sales3.xls apac1.xls europe2.xls nal.xls na2.xls sa1.xls
С помощью шаблона
В регулярных выражениях О том, как применять специальные символы, вы узнаете из урока 4, "Использование метасимволов". Замечание
Если нужно найти наклонную черту влево Замечание
Как правило, точке соответствует любой символ. Но это не всегда так: в большинстве реализаций регулярных выражений точке Резюме
Регулярные выражения, называемые также шаблонами, являются строками, составленными из символов. Эти символы могут быть литералами (фактический текст) или символами (специальные символы со специальными значениями), и в этом уроке вы узнали, как найти один с используя либо текст-литерал, либо метасимвол. Точка |
||