Свойство options

Свойство options содержит значение типа RegexOption, которое представляет собой набор флагов опций, установленных для регулярного выражения. Эти опции влияют на поведение регулярного выражения.

Импорт

kotlinimport kotlin.text.Regex
import kotlin.text.RegexOption

Синтаксис

kotlinval Regex.options: Set<RegexOption>

Доступные опции

kotlinRegexOption.IGNORE_CASE
RegexOption.MULTILINE
RegexOption.LITERAL
RegexOption.UNIX_LINES
RegexOption.COMMENTS
RegexOption.DOT_MATCHES_ALL

Пример

Создадим регулярное выражение с опцией игнорирования регистра и проверим его опции:

kotlinval regex = Regex("[a-z]+", RegexOption.IGNORE_CASE)
val res: Set<RegexOption> = regex.options
println(res)

Результат выполнения кода:

kotlinSet<RegexOption> [IGNORE_CASE]

Пример

Создадим регулярное выражение с несколькими опциями и проверим их:

kotlinval regex = Regex("^[a-z]+$", setOf(RegexOption.IGNORE_CASE, RegexOption.MULTILINE))
val res: Set<RegexOption> = regex.options
println(res.contains(RegexOption.IGNORE_CASE))
println(res.contains(RegexOption.MULTILINE))
println(res.contains(RegexOption.LITERAL))

Результат выполнения кода:

kotlinBoolean true
Boolean true
Boolean false

Пример

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

kotlinval regex = Regex("[0-9]+")
val res: Set<RegexOption> = regex.options
println(res.isEmpty())

Результат выполнения кода:

kotlinBoolean true

Пример

Используем опции для case-insensitive поиска:

kotlinval regex = Regex("hello", RegexOption.IGNORE_CASE)
val input = "HELLO world"
val res: Boolean = regex.containsMatchIn(input)
println(res)

Результат выполнения кода:

kotlinBoolean true

Смотрите также

  • функцию find,
    для поиска первого совпадения с регулярным выражением
  • функцию findAll,
    для поиска всех совпадений с регулярным выражением
  • функцию matchEntire,
    для проверки полного соответствия строки регулярному выражению
  • функцию replace,
    которая заменяет совпадения в строке