пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ


33. Підтримка регулярних виразів у мовах розробки Web-додатків.

js

Регулярные выражения в javascript имеют особую краткую форму и стандартный PCRE-синтаксис.

Работают они через специальный объект RegExp.

Кроме того, у строк есть свои методы search,match,replace, но чтобы их понять - разберем-таки сначала RegExp.
Объект RegExp

Объект типа RegExp, или, короче, регулярное выражение, можно создать двумя путями/pattern/флаги
new RegExp("pattern"[, флаги])


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

Первый способ используется часто, второй - иногда. Например, два таких вызова эквивалентны:var reg = /ab+c/i
var reg = new RegExp("ab+c", "i")


При втором вызове - т.к регулярное выражение в кавычках, то нужно дублировать // эквивалентны
re = new RegExp("\w+")
re = /w+/


При поиске можно использовать большинство возможностей современного PCRE-синтаксиса.

perl

Регулярные выражения в perl одна из самых мощных его возможностей. regex позволяют в perl сопоставлять текст с указанным шаблоном, разбивать текст в массив по шаблону, производить замену текста по шаблону и многое многое другое. Так-же иногда регекспами называются операторы поиска и замены.

Оператор qw("text") разбивает строку на массив слов.

Оператор qr/pattern/ ключи - imosx работает подобно регулярному выражению s/.../.../

Оператор qx/STRING/ работает как системная команда, подобно $output = `cmd 2>$1`;.

В перл есть три основных оператора, работающих со строками:

m/.../ - проверка совпадений (matching),
s/.../.../ - подстановка текста (substitution),
tr/.../ - замена текста (translation).

php

Регулярные выражения - черезвычайно мощный инструмент работы со строками. С их помощью можно проводить анализ и изменение строк на основе заданного шаблона.

Рассмотрим простые (далеко не все) правила формирования шаблона.

Шаблон состовляется из набора модификаторов

В PHP существует несколько функций для работы с регулярными выражениями: ereg(), ereg_replace(), eregi(), ereg_replacei() и split().

Функции с суффиксом i представляют из себя аналоги функций без этого суффикса, не чувствтительные к регистру операндов.

Рассмотрим функцию ereg(), синтаксис которой:
int ereg(string pattern, string string, array [regs]);

Рассмотрим некоторый адрес maxx@mail.ru. Очевидно, что правдоподобный адрес должен иметь вид "слово@слово.слово". В терминах шаблонов произвольный символ обозначается знаком "." (мы не будем сейчас учитывать тот факт, что в адресах допустимы не все символы). В каждом слове должен быть по крайней мере один символ, таким образом, шаблон слова будет иметь вид ".+". Вспомним теперь, что "." - это модификатор, и для явного указания точки (в качестве символа) нужно писать ".".

Таким образом шаблон будет иметь вид ".+@.+..+".

После такой проверки мы можем быть уверены, что e-mail адрес имеет вид "слово@слово.слово".


хиты: 329
рейтинг:0
Точные науки
информатика
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь