Spec-Zone.ru › Scala 3.1

Объект scala.util.matching.Regex

Класс-компаньон • Исходный код

объект Regex

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

Супертипы
класс Object
трайт Matchable
класс Any
Тип "self"
Regex.type

Классы

Исходный код
объект Groups

Объект-экстрактор, который возвращает группы в совпадении. Использование этого экстрактора вместо исходного Regex гарантирует, что совпадение не вычисляется повторно.

import scala.util.matching.Regex.Groups

val date = """(\d\d\d\d)-(\d\d)-(\d\d)""".r
val text = "The doc spree happened on 2011-07-15."
val day = date replaceAllIn(text, _ match { case Groups(_, month, day) => s"$month/$day" })

Исходный код
класс Match(val source: CharSequence, val matcher: Matcher, _groupNames: Seq[String]) extends MatchData

Предоставляет информацию об успешном совпадении.

Компаньон объект

Исходный код
объект Match

Объект-экстрактор для совпадений, возвращающий сопоставленную строку.

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

import scala.util.matching.Regex.Match
"""\w+""".r replaceAllIn ("A simple example.", _ match { case Match(s) => s.toUpperCase })
Компаньон класс

Исходный код
трайт MatchData

Этот класс предоставляет методы для доступа к деталям совпадения.

Исходный код
класс MatchIterator(val source: CharSequence, val regex: Regex, val _groupNames: Seq[String]) extends AbstractIterator[String] with Iterator[String] with MatchData

Класс для перебора последовательности совпадений по регулярному выражению.

Это итератор, возвращающий сопоставленные строки.

Запросы о данных совпадения относятся к текущему состоянию базового соответствия, которое обновляется вызовом hasNext или next.

Когда совпадения исчерпаны, запросы о данных совпадения выбросят java.lang.IllegalStateException.

См. также

java.util.regex.Matcher

Конкретные методы

Исходный код
def quote(text: String): String

Цитирует строки для использования в буквальном виде в шаблонах регулярных выражений.

Все метасимволы регулярных выражений во входных данных соответствуют себе буквально в выходных данных.

Пример
List("US$", "CAN$").map(Regex.quote).mkString("|").r

Исходный код
def quoteReplacement(text: String): String

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

Методы замены придают специальное значение обратным слешам (\) и знакам доллара ($) в строках замены, поэтому они не рассматриваются как литералы. Этот метод экранирует эти символы, чтобы полученная строка могла использоваться как буквальная замена, представляющая входную строку.

Параметры значения
text

Строка, которую требуется использовать в качестве буквальной замены.

Возвращает

Строка, которая может быть использована для замены совпадений с text.

Пример
"CURRENCY".r.replaceAllIn(input, Regex quoteReplacement "US$")

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/util/matching/Regex$.html

Spec-Zone.ru

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