Regular Expressions 101

Save & Share

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression

/
/
gm

Test String

Substitution

Processing...

Code Generator

Generated Code

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String[] args) { final String regex = "([АОУЭИЫЕЁЯЮаоуэиыеёяю].?)$|[^АОУЭИЫЕЁЯЮаоуэиыеёяю](\\*)?$"; final String string = "Левый берег\n" + "Правый берег\n" + "Районы\n" + "Голосеевский\n" + "Дарницкий\n" + "Деснянский\n" + "Днепровский\n" + "Оболонский\n" + "Печерский\n" + "Подольский\n" + "Святошинский\n" + "Соломенский\n" + "Шевченковский\n" + "Микрорайоны\n" + "Академгородок\n" + "Александровская Слободка\n" + "Багриновая гора\n" + "Байковая гора\n" + "Батыева Гора\n" + "Беличи\n" + "Беличье поле\n" + "Березняки\n" + "Берковец\n" + "Бортничи\n" + "Борщаговка\n" + "Быковня\n" + "Верхняя Теличка\n" + "Ветряные Горы\n" + "Виноградарь\n" + "Вита-Литовская (Чапаевка)\n" + "Воскресенка\n" + "Вышгородский массив\n" + "Галаганы\n" + "Голосеево\n" + "Дачи Осокорки\n" + "ДВРЗ\n" + "Демеевка\n" + "Добрый путь\n" + "Железнодорожный\n" + "Жуляны\n" + "Замковище\n" + "Зверинец\n" + "Исторический центр\n" + "Кадетский Гай\n" + "Караваевы дачи\n" + "Катериновка\n" + "Китаево\n" + "Конча-Заспа\n" + "Корчеватое\n" + "КПИ\n" + "Кудрявец\n" + "Куреневка\n" + "Левобережный массив\n" + "Лесной\n" + "Липки\n" + "Лукьяновка\n" + "Минский\n" + "Мостицкий массив\n" + "Мышеловка\n" + "Нивки\n" + "Нижние сады\n" + "Нижний Печерск\n" + "Никольская Борщаговка\n" + "Никольская Слободка\n" + "Новая Дарница\n" + "Новобеличи\n" + "Новое строение\n" + "Оболонь\n" + "Осокорки\n" + "Отрадный\n" + "Паньковщина\n" + "Первомайский массив\n" + "Петровка\n" + "Печерск\n" + "Пирогов\n" + "Подол\n" + "Позняки\n" + "Приорка\n" + "Пуща-Водица\n" + "Радужный\n" + "Русановка\n" + "Русановские сады\n" + "Рыбальский остров\n" + "Саперная Слободка\n" + "Святошино\n" + "Северо-Броварской (Комсомольский)\n" + "Троещина\n" + "Шевченко\n" + "Совки\n" + "Солдатская слободка\n" + "Соломенка\n" + "Соцгород\n" + "Старая Дарница\n" + "Старый Киев\n" + "Сырец\n" + "Татарка\n" + "Теремки\n" + "Теремки-1\n" + "Теремки-2\n" + "Троещина\n" + "Феофания\n" + "Харьковский\n" + "Царское село\n" + "Черепанова гора\n" + "Чёрная гора\n" + "Чоколовка\n" + "Ширма\n" + "Шулявка\n" + "Южная Борщаговка\n" + "Города\n" + "Белая Церковь\n" + "Березань\n" + "Богуслав\n" + "Борисполь\n" + "Боярка\n" + "Бровары\n" + "Буча\n" + "Васильков\n" + "Вишнёвое\n" + "Вышгород\n" + "Ирпень\n" + "Кагарлык\n" + "Мироновка\n" + "Обухов\n" + "Переяслав\n" + "Припять\n" + "Ржищев\n" + "Сквира\n" + "Славутич\n" + "Тараща\n" + "Тетиев\n" + "Узин\n" + "Украинка\n" + "Фастов\n" + "Чернобыль\n" + "Яготин\n" + "Города Украины\n" + "Харьков\n" + "Одесса\n" + "Днепр\n" + "Донецк\n" + "Запорожье\n" + "Львов\n" + "Кривой Рог\n" + "Севастополь\n" + "Николаев\n" + "Мариуполь\n" + "Луганск\n" + "Винница\n" + "Макеевка\n" + "Симферополь\n" + "Херсон\n" + "Чернигов\n" + "Полтава\n" + "Хмельницкий\n" + "Черкассы\n" + "Черновцы\n" + "Житомир\n" + "Сумы\n" + "Ровно\n" + "Горловка\n" + "Ивано-Франковск\n" + "Каменское\n" + "Тернополь\n" + "Кропивницкий\n" + "Кременчуг\n" + "Луцк\n" + "Мелитополь\n" + "Керчь\n" + "Краматорск\n" + "Ужгород\n" + "Евпатория\n" + "Бердянск\n" + "Никополь\n" + "Славянск\n" + "Алчевск\n" + "Павлоград\n" + "Северодонецк"; final String subst = "*"; final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE); final Matcher matcher = pattern.matcher(string); // The substituted value will be contained in the result variable final String result = matcher.replaceAll(subst); System.out.println("Substitution result: " + result); } }

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html