Spec-Zone.ru › Scala 3.2

Объект Regex.Regex

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

объект Regex

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

Суперобъекты
класс Object
тракт Matchable
класс Any
Тип «Я»
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.2.0/scala/util/matching/Regex$.html

Spec-Zone.ru

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