Получить код ссылки
Внешний вид
Пример
УчебаИнформатика

Проверка регулярных выражений

Описание калькулятора для проверки регулярных выражений. И немного про регулярные выражения.
Timur2010-02-20 21:50:37
Я как-то не очень любил раньше регулярные выражения. Они казались мне довольно странной и загадочной штукой, которую невозможно понять. Однако недавно по работе понадобилось применить их во всю мощь, ну и пришлось разобраться.

По моему опыту, чтобы разобраться, надо просто найти толковое описание. Могу порекомендовать главу 24 из книги Джозефа и Бена Албахари "C# 3.0. Справочник" издательства O'Reilly. До C# 3.0 дело у меня так и не дошло, и это единственная глава из книги, которую я прочитал, но про регулярные выражения написано понятно.

Собственно, регулярки - крутейшая вещь. И везде они есть, в том числе и на Javascript, на котором пишутся все калькуляторы на нашем сайте. В нем есть такой объект RegExp. Вот ты туда текст регулярки пихаешь, и начинаешь ее по всякому использовать.

Как использовать?

Во-первых, есть такой метод test(string) - возвращает выражение true, если регулярка заматчилась (нашлось совпадение в тексте), и false, если ничего не нашлось.

Во-вторых, есть метод exec(string) - который позволяет извлечь то, что заматчилось. В результате вызова этого метода получаем массив результатов. Он нужен, если в тексте регулярки мы использовали группировку скобками ().
Массив там, кстати, не очень массив. Если были группы, то нулевой элемент массива это все совпадение целиком, а все последующие - это группы. Кроме того, там есть два свойства, input - это вообще вся строка, которую передали на вход, и index - видимо индекс в массиве (не знаю, зачем оно нужно).

В-третьих, можно использовать регулярку для замены по строке, вызовом source_string.replace(regex, replace_string). Наверно, для этого ее используют больше всего.

Ну а ниже калькулятор, который позволит поиграться с регулярными выражениями.

Вводим текст, на который будет натравливаться регулярное выражение, само выражение, модификаторы (по-умолчанию - искать по всей строке), строку для замены.

На выходе получаем результаты вызовов методов test, exec, и replace на введенном тексте. Вот так можно на ходу тренироваться на кошках, если не уверен, что твоя регулярка правильно сработает.
Проверка регулярных выраженийCreative Commons Attribution/Share-Alike License 3.0 (Unported)
Результат вызова метода test: 
Результат вызова метода exec: 
Результат вызова метода replace: 







Комментарии

Пока нет комментариев

 Все обсуждения Отправь комментарий - будь первым!
Защита от спама