Skip to content

kalenchukov/StringRegexp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Справка

StringRegexp

Операции над строками с помощью регулярных выражений.

Использование

Получение шаблона регулярного выражения

IP-адрес четвёртой версии

Regexp.INET_4_ADDRESS;

IP-адрес шестой версии

Regexp.INET_6_ADDRESS;

MAC-адрес

Regexp.MAC_ADDRESS;

Адрес электронной почты

Regexp.EMAIL_ADDRESS;

HTTP URL

Regexp.URL_HTTP;

Домен

Regexp.DOMAIN;

MD5-хеш

Regexp.MD5;

Локализация

Regexp.LOCALIZATION;

RGB в числовом представлении

Regexp.RGB_NUMERIC;

RGB в шестнадцатеричной системе счисления

Regexp.RGB_HEX;

Телеграм канал

Regexp.TELEGRAM;

Двухбуквенный код страны

Regexp.COUNTRY_CODE_ALPHA2;

Трёхбуквенный код страны

Regexp.COUNTRY_CODE_ALPHA3;

Трёхцифровой код страны

Regexp.COUNTRY_CODE_NUMERIC3;

Метка

Regexp.TAG;

Цифра двоичной системы счисления

Regexp.DIGIT_BINARY;

Цифра троичной системы счисления

Regexp.DIGIT_TERNARY;

Цифра восьмеричной системы счисления

Regexp.DIGIT_OCTAL;

Цифра десятеричной системы счисления

Regexp.DIGIT_DECIMAL;

Цифра двенадцатеричной системы счисления

Regexp.DIGIT_DUODECIMAL;

Цифра шестнадцатеричной системы счисления

Regexp.DIGIT_HEXADECIMAL;

Число десятеричной системы счисления

Regexp.NUMBER;

Слово

Regexp.WORD;

Буква

Regexp.LETTER;

Проверка

Проверка локализации

StringRegexp.isLocalization("ru-RU");

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

true

Проверка двухбуквенного кода страны

StringRegexp.isCountryCodeAlpha2("RU");

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

true

Проверка трёхбуквенного кода страны

StringRegexp.isCountryCodeAlpha3("RUS");

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

true

Проверка трёхциферного кода страны

StringRegexp.isCountryCodeNumeric3("643");

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

true

Проверка RGB в числовом представлении

StringRegexp.isRgbNumeric("250,150,50");

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

true

Проверка MD5-хеша

StringRegexp.isMd5("D41D8CD98F00B204E9800998ECF8427E");

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

true

Проверка MD5-хеша без учёта регистра букв

StringRegexp.isMd5IgnoreCase("D41D8CD98F00B204E9800998ECF8427E");

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

true

Проверка RGB в шестнадцатеричной системе счисления

StringRegexp.isRgbHex("#FFFFFF");

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

true

Проверка RGB в шестнадцатеричной системе счисления без учёта регистра букв

StringRegexp.isRgbHexIgnoreCase("#fffFFF");

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

true

Проверка MAC-адреса

StringRegexp.isMacAddress("00:EF:CD:EF:11:22");

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

true

Проверка MAC-адреса без учёта регистра букв

StringRegexp.isMacAddressIgnoreCase("00-eF-cd-Ef-11-22");

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

true

Проверка телеграм канала

StringRegexp.isTelegram("@kalenchukov");

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

true

Проверка адреса электронной почты

StringRegexp.isEmailAddress("aleksey.kalenchukov@yandex.ru");

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

true

Проверка доменного имени

StringRegexp.isDomain("kalenchukov.dev");

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

true

Проверка URL HTTP

StringRegexp.isUrlHttp("http://www.kalenchukov.dev/string/regexp/?java=18&isUrlHttp=test123#readme");

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

true

Проверка IP-адреса четвёртой версии

StringRegexp.isInet4Address("192.168.1.1");

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

true

Проверка IP-адреса шестой версии

StringRegexp.isInet6Address("EF98:3:0:0:0:0:2F3B:7654");

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

true

Проверка IP-адреса шестой версии без учёта регистра букв

StringRegexp.isInet6AddressIgnoreCase("ef98:3:0:0:0:0:2F3B:7654");

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

true

Проверка метки

StringRegexp.isTag("#tag");

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

true

Проверка слова

StringRegexp.isWord("Красно-жёлтые");

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

true

Проверка цифры двоичной системы счисления

StringRegexp.isDigitBinary("01");

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

true

Проверка цифры троичной системы счисления

StringRegexp.isDigitTernary("012");

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

true

Проверка цифры восьмеричной системы счисления

StringRegexp.isDigitOctal("01234567");

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

true

Проверка цифры десятеричной системы счисления

StringRegexp.isDigitDecimal("0123456789");

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

true

Проверка цифры двенадцатеричной системы счисления

StringRegexp.isDigitDuodecimal("0123456789AB");

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

true

Проверка цифры шестнадцатеричной системы счисления

StringRegexp.isDigitHexadecimal("0123456789ABCDEF");

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

true

Проверка числа

StringRegexp.isNumber("0.100");

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

true

Проверка буквы

StringRegexp.isLetter("Ы");

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

true

Поиск

Поиск локализаций

String value = """
    Застоялся мой поезд в депо.
    Снова я by-BY уезжаю. Пора...
    На пороге ветер заждался меня.
    На пороге осень — моя сестра.ru-RU
    """;

StringRegexp.findLocalization(value);

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

[
    by-BY,
    ru-RU
]

Поиск RGB в числовом представлении

String value = """
    Наши реки бедны водой
    В наших окнах 255,150,50 не видно дня
    Наше утро похоже на ночь
    Ну, а ночь — для меня
    Глядя в жидкое зеркало луж 0, 0, 0
    На часы, что полвека стоят
    На до дыр зацелованный флаг
    Я полцарства отдам за коня
    """;

StringRegexp.findRgbNumeric(value);

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

[
    255,150,50,
    0, 0, 0
]

Поиск RGB в шестнадцатеричной системе счисления

String value = """
    Крыши домов дрожат под тяжестью дней
    Небесный пастух пасёт #FFFFFF облака
    Город стреляет в ночь дробью огней
    Но ночь сильней,#123456 её власть велика
    """;

StringRegexp.findRgbHex(value);

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

[
    #FFFFFF,
    #123456
]

Поиск RGB в шестнадцатеричной системе счисления без учёта регистра букв

String value = """
    Застоялся мой #fffFFF поезд в депо.
    Снова я уезжаю. Пора...
    На пороге ветер заждался меня.
    На пороге осень — моя сестра.#000000
    """;

StringRegexp.findRgbHexIgnoreCase(value);

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

[
    #fffFFF,
    #000000
]

Поиск MAC-адресов

String value = """
    В этом мотиве есть какая-то фальшь,
    Но где найти 00-EF-CD-EF-11-22 тех, что услышат ее?
    Подросший ребенок, воспитанный жизнью за шкафом,
    Теперь ты видишь Солнце, возьми - 00:EF:CD:EF:11:22 это твое!
    """;

StringRegexp.findMacAddress(value);

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

[
    "00-EF-CD-EF-11-22",
    "00:EF:CD:EF:11:22"
]

Поиск MAC-адресов без учёта регистра букв

String value = """
    Я вижу, как волны смывают следы на песке
    Я слышу, как ветер 00-EF-CD-ef-11-22 поет свою странную песню
    Я слышу, как струны деревьев играют ее
    Музыку волн 00:EF:CD:EF:11:22, музыку ветра
    """;

StringRegexp.findMacAddressIgnoreCase(value);

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

[
    "00-EF-CD-ef-11-22",
    "00:EF:CD:EF:11:22"
]

Поиск адресов электронной почты

String value = """
    И я должен прийти к девяти, на работу свою, aleksey.kalenchukov@yandex.ru
    Но сейчас уже без десяти, а я только встаю
    На столе моем 123alekseykalenchukov@yandex.ru завтрак стоит, от него не уйти
    И наверное, я к девяти не смогу подойти
    """;

StringRegexp.findEmailAddress(value);

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

[
    aleksey.kalenchukov@yandex.ru,
    123alekseykalenchukov@yandex.ru
]

Поиск доменных имён

String value = """
    Зерна упали в землю, зерна просят дождя.
    Им нужен дождь.
    Разрежь мою грудь, kalenchukov.dev посмотри мне внутрь,
    Ты увидишь, там все горит огнем.
    Через день будет поздно, через час будет поздно,
    Через миг будет уже не встать.
    Если к дверям не подходят ключи,regexp.string.kalenchukov.dev вышиби двери плечом.
    """;

StringRegexp.findDomain(value);

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

[
    kalenchukov.dev,
    regexp.string.kalenchukov.dev
]

Поиск URL HTTP

String value = """
    Тот, кто в пятнадцать лет убежал из дома
    Вряд ли поймёт http://www.kalenchukov.dev/string/regexp/?java=18&isUrlHttp=test123#readme того, кто учился в спецшколе
    Тот, у кого есть хороший жизненный план
    Вряд ли будет https://kalenchukov.dev/#readme думать о чём-то другом
    """;

StringRegexp.findUrlHttp(value);

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

[
    "http://www.kalenchukov.dev/string/regexp/?java=18&isUrlHttp=test123#readme",
    "https://kalenchukov.dev/#readme"
]

Поиск IP-адресов четвёртой версии

String value = """
    День как день,10.222.170.80 только ты почему-то грустишь.
    И вокруг все поют, только ты один молчишь.
    Потерял аппетит и не 192.168.1.1 хочешь сходить в кино.
    Ты идешь в магазин, чтобы купить вино.
    """;

StringRegexp.findInet4Address(value);

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

[
    10.222.170.80,
    192.168.1.1
]

Поиск IP-адресов шестой версии

String value = """
    В последнее время я редко был дома,
    Так AD12::AE21:: что даже отвыкли звонить мне друзья.
    В разъездах, разгулах 2001:0DB8:11A3:09D7:1F34:8A2E:07A0:765D конца лета симптомы
    Совсем перестали вдруг мучить меня.
    """;

StringRegexp.findInet6Address(value);

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

[
	AD12::AE21::,
	2001:0DB8:11A3:09D7:1F34:8A2E:07A0:765D
]

Поиск IP-адресов шестой версии без учёта регистра букв

String value = """
    За окнами солнце, за окнами свет - это день.
    Ну, а я всегда 2001:0db8:11a3:09d7:1F34:8A2E:07A0:765D любил ночь.
    И это мое дело - любить ночь,
    И это мое право - ad12::AE21:: уйти в тень.
    """;

StringRegexp.findInet6AddressIgnoreCase(value);

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

[
	2001:0db8:11a3:09d7:1F34:8A2E:07A0:765D,
	ad12::AE21::
]

Поиск телеграм каналов

String value = """
    Ты часто проходишь мимо, не видя меня
    С кем-то другим, я стою не дыша @kalenchukov
    Я знаю, что ты живешь в соседнем дворе
    Ты идешь не спеша,@Kalenchukov не спеша...
    """;

StringRegexp.findTelegram(value);

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

[
	@kalenchukov,
	@Kalenchukov
]

Поиск двухбуквенных кодов стран

String value = """
    О-o, это странное место Камчатка
    О-o, это сладкое слово «Камчатка»
    Но на этой земле RU я не вижу тебя
    Я не вижу твоих кораблей
    Я не вижу реки, я не вижу моста
    Ну и пусть...
    О-o, это странное место Камчатка
    О-o, это сладкое слово «Камчатка»
    Я нашел здесь руду, я нашел здесь любовь
    Я пытаюсь BY забыть, забываю и вновь
    Вспоминаю собаку, она, как звезда
    Ну и пусть...
    """;

StringRegexp.findCountryCodeAlpha2(value);

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

[
	RU,
	BY
]

Поиск трёхбуквенных кодов стран

String value = """
    Каждый день ты приходишь домой, когда темно.
    Каждый день RUS долго едешь в метро, когда темно.
    А она живет в центре всех городов,
    И ты хочешь быть рядом,BLR
    Но надо ехать домой, уже темно.
    Проснись, это любовь,
    Смотри, это любовь,
    """;

StringRegexp.findCountryCodeAlpha3(value);

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

[
	RUS,
	BLR
]

Поиск трёхциферных кодов стран

String value = """
    Стань птицей, живущей в моём небе
    Помни, что нет 052 тюрьмы страшнее, чем в голове
    Стань птицей, не думай о хлебе
    Я стану дорогой 643
    112 Я помню прозрачность воды моря
    Я вижу прозрачность горящего газа
    Стань сердцем, бейся в моём теле
    """;

StringRegexp.findCountryCodeNumeric3(value);

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

[
	052,
	643,
	112
]

Поиск меток

String value = """
    Гуляю. Я один гуляю.
    Что дальше делать, #tag я не знаю.
    Нет дома. Никого нет дома #Tag.
    Я лишний, словно куча лома, у-у.
    """;

StringRegexp.findTag(value);

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

[
	#tag,
	#Tag
]

Поиск цифр двоичной системы счисления

String value = """
    Мы хотим видеть 010101 дальше, чем окна дома напротив
    Мы хотим жить, мы живучи, как кошки
    И вот мы пришли заявить о своих правах,1101 да
    Слышишь шелест плащей? Это мы
    """;

StringRegexp.findDigitBinary(value);

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

[
    "010101",
    "1101"
]

Поиск цифр троичной системы счисления

String value = """
    Струн провода, ток по рукам,
    Телефон на все 0101201 голоса говорит: «Пока!» Пора...
    И пальто на гвозде, шарф в рукаве
    И перчатки в карманах шепчут:
    «Подожди до утра!» До утра...11021
    """;

StringRegexp.findDigitTernary(value);

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

[
    "0101201",
    "11021"
]

Поиск цифр восьмеричной системы счисления

String value = """
    Над землёй мороз, что ни тронь - всё лёд.
    Лишь во сне моём,010317201 поёт капель.
    А снег идёт стеной, а снег идёт весь день,
    А за той стеной - стоит Апрель.1160215
    """;

StringRegexp.findDigitOctal(value);

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

[
    "010317201",
    "1160215"
]

Поиск цифр десятеричной системы счисления

String value = """
    Ты часто проходишь 0 мимо, не видя меня,
    С кем-то другим, я стою не дыша.
    Я знаю, что ты живешь в соседнем дворе,12
    Ты идешь не спеша, не спеша...
    """;

StringRegexp.findDigitDecimal(value);

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

[
	0,
	12
]

Поиск цифр двенадцатеричной системы счисления

String value = """
    Крыши домов дрожат под тяжестью дней
    Небесный пастух пасёт облака 01031A9b7201
    Город стреляет в ночь дробью огней
    Но ночь сильней,11602B15 её власть велика
    """;

StringRegexp.findDigitDuodecimal(value);

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

[
    "01031A9b7201",
    "11602B15"
]

Поиск цифр шестнадцатеричной системы счисления

String value = """
    На холодной земле стоит город большой.
    Там горят фонари, и машины гудят.
    А над городом ночь, 0103f1A9b720d1 а над ночью луна,
    И сегодня луна каплей крови красна.1160de2B15
    """;

StringRegexp.findDigitHexadecimal(value);

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

[
    "0103f1A9b720d1",
    "1160de2B15"
]

Поиск чисел

String value = """
    Ночь коротка, цель далека;
    Ночью так часто 1.100 хочется пить,
    Ты выходишь на кухню, но вода здесь горька;
    Ты не можешь здесь спать, 0,1 ты не хочешь здесь жить.
    """;

StringRegexp.findNumber(value);

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

[
	1.100,
	0,1
]

Поиск слов

String value = """
    Красно-жёлтые дни.

    Застоялся мой поезд в депо.
    Снова я уезжаю. Пора...
    """;

StringRegexp.findWord(value);

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

[
    Красно-жёлтые,
    дни,
    Застоялся,
    мой,
    поезд,
    в,
    депо,
    Снова,
    я,
    уезжаю,
    Пора
]

Поиск букв

String value = """
    Малыш
    """;

StringRegexp.findLetter(value);

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

[
    М,
    а,
    л,
    ы,
    ш
]