Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
171
Добавлен:
17.04.2018
Размер:
32.16 Кб
Скачать
  1. Реализация регулярных выражений в языках программирования

Реализация регулярных выражений в JavaScript, PHP, Java Таблица 8

* - в разных языках механизм мультистрочности может быть реализован различным образом и означать как удаление символов, так и их замена на экранированные последовательности.

JavaScript

PHP

Java

Предварительные условия

нет

нет

import java.util.regex.Pattern;

import java.util.regex.Matcher;

Поиск в строке str совпадения c шаблоном reg с возвратом true или false

/reg/.test(str);

preg_match(reg, str);

Pattern pt = Pattern.compile (reg);

Matcher mt = pt.matcher(str);

mt.find(); // true или false

str.search(reg);

boolean pt.matches(reg, str);

Найти в строке str одно или все совпадения c шаблоном reg с возвратом массива, содержащего найденные совпадения для последующей обработки

str.match(reg);

// без флага g вернет первое совпадение, c флагом g - все

preg_match(reg, str, results);

// results – массив, элементами которого являются совпадения

Pattern pt = Pattern.compile (reg);

Matcher mt = pt.matcher(str);

while (matcher.find())

matcher.group(); // каждое совпадение

Найти в строке str одно или все совпадения c шаблоном reg и заменить их на значения из шаблона reg_r

str.replace(reg,reg_r);

preg_replace(reg1, reg_r, str);

Pattern pt = Pattern.compile (reg);

Matcher mt = pt.matcher(str);

matcher.replaceFirst(reg_r);

Реализация глобального действия (т.е. на все совпадения с шаблоном), регистронезависимости и мультистрочности*

Добавление справа к шаблону: /reg/

g - глобальность

I - регистронезав.

m – мультистрочность

пример: /reg/gim

Добавление справа к шаблону: /reg/

I - регистронезависимость

m – мультистрочность

preg_match_all(reg, str, results);

Pattern pt = Pattern.compile(reg,

Pattern.CASE_INSENSITIVE | Pattern.MULTILINE

);

matcher.replaceAll(reg_r); // глобальность

Разбить строку str на массив по шаблону reg

str.split(reg)

preg_split(reg, str);

Pattern pt = Pattern.compile (reg);

String[] result = pt.split(str);

String[] result = str.split(reg);

Специальные возможности

var reg = шаблон;

reg.exec(str); // вернет первое совпадение

str.replace(reg,fun); // здесь fun — имя функции, которой передается каждое совпадение для обработки

results = preg_replace_callback(reg, fun,str)

// здесь fun — имя функции в кавычках, которой передается каждое совпадение для обработки

Соседние файлы в папке Интернет технологии