Spec-Zone.ru › Haxe

EReg

без пакета

Доступно на всех платформах

Класс EReg представляет регулярные выражения.

Хотя базовая работа и шаблоны работают последовательно на всех платформах, некоторые более сложные операции могут давать разные результаты. Это необходимо для сохранения определенного уровня производительности.

Экземпляры EReg могут быть созданы путем вызова конструктора или с помощью специального синтаксиса ~/pattern/modifier

Экземпляры EReg хранят внутреннее состояние, которое изменяется несколькими его методами.

Подробное описание поддерживаемых операций доступно по адресу https://haxe.org/manual/std-regex.html

Статические методы

staticescape(s:String):String

Экранировать строку s для использования в качестве части регулярного выражения.

Если s равно null, результат не определен.

Конструктор

new(r:String, opt:String)

Создаёт новое регулярное выражение с шаблоном r и модификаторами opt.

Это эквивалентно сокращённому синтаксису ~/r/opt

Если r или opt равны null, результат не определён.

Методы

map(s:String, f:EReg ‑> String):String

Вызывает функцию f для подстроки s которая соответствует EReg и заменяет эту подстроку результатом вызова f.

Функция f принимает объект EReg как первый аргумент и должна возвращать строку замены для соответствующей подстроки.

Если EReg this не соответствует ни одной подстроке, результат - s.

По умолчанию этот метод заменяет только первую соответствующую подстроку. Если установлен модификатор g, заменяются все соответствующие подстроки.

Если s или f равны null, результат не определён.

match(s:String):Bool

Определяет, соответствует ли регулярное выражение this строке s.

Этот метод изменяет внутреннее состояние.

Если s равно null, результат не определён.

matchSub(s:String, pos:Int, len:Int = -1):Bool

Определяет, соответствует ли регулярное выражение this подстроке строки s.

Функция ожидает, что pos и len описывают корректную подстроку s, в противном случае результат не определён. Для более надёжного поведения следует использовать this.match(s.substr(pos,len)).

Этот метод изменяет внутреннее состояние.

Если s равно null, результат не определён.

matched(n:Int):String

Возвращает совпавшую подгруппу n объекта EReg this.

Этот метод следует вызывать только после this.match или this.matchSub, и затем он работает со строкой, полученной в результате этой операции.

Индекс n соответствует n-й паре скобок в шаблоне объекта EReg this. Если такой подгруппы не существует, результат не определён.

Если n равно 0, возвращается вся соответствующая подстрока.

matchedLeft():String

Возвращает часть слева от последней совпавшей подстроки.

Если последнее обращение к this.match или this.matchSub ничего не совпало, результат не определён.

Если для сопоставления использовался модификатор g, возвращается только подстрока, расположенная слева от самого левого совпадения.

Результат не включает совпавшую часть.

matchedPos():{pos:Int, len:Int}

Возвращает позицию и длину последней совпавшей подстроки в строке, которая была в последний раз аргументом в this.match или this.matchSub.

Если последнее обращение к this.match или this.matchSub ничего не совпало, результат не определён.

Если для сопоставления использовался модификатор g, возвращается позиция и длина самой левой подстроки.

matchedRight():String

Возвращает часть справа от последней совпавшей подстроки.

Если последнее обращение к this.match или this.matchSub ничего не совпало, результат не определён.

Если для сопоставления использовался модификатор g, возвращается только подстрока, расположенная справа от самого левого совпадения.

Результат не включает совпавшую часть.

replace(s:String, by:String):String

Заменяет первую подстроку s которая соответствует EReg this на by.

Если EReg this не соответствует ни одной подстроке, результат - s.

По умолчанию этот метод заменяет только первую совпавшую подстроку. Если установлен модификатор g, заменяются все совпавшие подстроки.

Если by содержит ссылки на подгруппы, например, $1 или $2, цифра соответствует номеру совпавшей подгруппы, и её значение используется вместо ссылки. Если такой подгруппы не существует, замена не определена. Строка $$ становится $.

Если s или by равны null, результат не определён.

split(s:String):Array<String>

Разделяет строку s по всем подстрокам, соответствующим EReg this.

Если совпадение найдено в начале s, в результате будет добавлен ведущий пустой элемент "".

Если совпадение найдено в конце s, в результате будет добавлен завершающий пустой элемент "".

Если две совпадающие подстроки следуют друг за другом, в результате будет присутствовать пустая строка "" между ними.

По умолчанию этот метод разделяет s на две части по первой совпавшей подстроке. Если установлен модификатор g, s разделяется по каждой совпавшей подстроке.

Если s равно null, результат не определён.

© 2005–2020 Haxe Foundation
Licensed under a MIT license.
https://api.haxe.org/EReg.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API