Logo Wand.Tools

Генератор регулярных выражений

Интеллектуальная генерация и объяснение регулярных выражений, поддержка различных распространенных шаблонов сопоставления

Попробуйте наши другие бесплатные инструменты ИИ

Генератор формул Excel

Преобразуйте ваши текстовые инструкции в формулы или получите объяснения формул.

Ассистент Excel ИИ

Редактируйте Excel онлайн, общаясь с ИИ

Генератор SQL-запросов

Преобразуйте ваши текстовые инструкции в SQL-запросы с помощью ИИ.

Генератор кода Excel VBA

Генерируйте код Excel VBA для автоматизации задач и создания пользовательских решений в Microsoft Excel.

Генератор графиков Excel

Загрузите свой файл Excel и создайте красивые графики с помощью нашего генератора графиков на основе ИИ.

Генератор ментальных карт

Преобразуйте ваш текст в красивые ментальные карты с помощью нашего генератора ментальных карт на основе ИИ. Легко редактируйте и настраивайте.

Генератор регулярных выражений

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

Учебник по регулярным выражениям (Regex) Java

Полное руководство по регулярным выражениям Java (с примерами) | Подробный учебник по Java Regex

Регулярные выражения Java (Regex) — это мощный инструмент для обработки текста, широко используемый для сопоставления строк, проверки, замены и других операций. Эта статья представляет вам самое практичное руководство по Java Regex, сопровождаемое подробными примерами кода, чтобы помочь вам освоить навыки Java Regex и легко справляться с различными сценариями разработки.


✅ Базовый синтаксис регулярных выражений

Выражение Описание
. Сопоставляет любой символ, кроме символа новой строки
^ Сопоставляет начало входной строки
$ Сопоставляет конец входной строки
* Сопоставляет предыдущий элемент 0 или более раз
+ Сопоставляет предыдущий элемент 1 или более раз
? Сопоставляет предыдущий элемент 0 или 1 раз
[] Сопоставляет любой символ внутри скобок
[^^] Сопоставляет любой символ не внутри скобок
{n} Сопоставляет ровно n раз
{n,} Сопоставляет не менее n раз
{n,m} Сопоставляет от n до m раз (включительно)
\d Сопоставляет цифру, эквивалентно [0-9]
\w Сопоставляет “словесный” символ (буква, цифра или подчеркивание), эквивалентно [a-zA-Z_0-9]
\s Сопоставляет любой пробельный символ
` `

🚀 Ключевые классы для использования регулярных выражений в Java

  • java.util.regex.Pattern
  • java.util.regex.Matcher

📌 Основной пример: Проверка соответствия строки регулярному выражению

import java.util.regex.*;

public class RegexExample1 {
    public static void main(String[] args) {
        String pattern = "^[a-zA-Z0-9]{6,12}$";
        String input = "abc12345";

        Pattern p = Pattern.compile(pattern);
        Matcher m = p.matcher(input);

        if (m.matches()) {
            System.out.println("Сопоставление успешно");
        } else {
            System.out.println("Сопоставление не удалось");
        }
    }
}

🧩 Пример: Извлечение всех адресов электронной почты

import java.util.regex.*;

public class RegexExample2 {
    public static void main(String[] args) {
        String text = "Контактный email: [email protected], [email protected]";
        String regex = "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}";

        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(text);

        while (m.find()) {
            System.out.println("Найден email: " + m.group());
        }
    }
}

🔁 Пример: Замена всех форматов телефонных номеров

import java.util.regex.*;

public class RegexExample3 {
    public static void main(String[] args) {
        String input = "Телефон клиента: 13812345678, запасной номер: 13987654321";
        String regex = "1[3-9]\\d{9}";

        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(input);

        String result = m.replaceAll("***Конфиденциально***");
        System.out.println(result);
    }
}

🔍 Пример: Проверка распространенных форматов (телефон, email, ИНН/паспорт)

public class RegexValidation {
    public static void main(String[] args) {
        String phone = "13812345678";
        String email = "[email protected]";
        String idCard = "110101199003077777"; // Note: This is a Chinese ID format example

        System.out.println(phone.matches("^1[3-9]\\d{9}$"));          // true
        System.out.println(email.matches("^[\\w.-]+@[\\w.-]+\\.[a-zA-Z]{2,}$")); // true
        System.out.println(idCard.matches("^\\d{17}[\\dXx]$"));       // true
    }
}

🔐 Часто используемые Regex-шаблоны (Рекомендуется сохранить)

  • Проверка номера телефона: ^1[3-9]\\d{9}$
  • Проверка email: ^[\\w.-]+@[\\w.-]+\\.[a-zA-Z]{2,}$
  • Проверка номера ИНН/паспорта: ^\\d{17}[\\dXx]$
  • Проверка надежности пароля: ^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$
  • Проверка IP-адреса: ^(\\d{1,3}\\.){3}\\d{1,3}$
  • Проверка URL-адреса: ^https?://[\\w.-]+(?:\\.[\\w\\.-]+)+[/#?]?.*$

📈 Распространенные сценарии применения регулярных выражений Java

  • Проверка форм (номер телефона, email, пароль)
  • Извлечение содержимого текста (анализ логов, извлечение email-адресов)
  • Обработка конфиденциальной информации (например, замена ИНН/паспорта, телефонных номеров)
  • Пакетная замена и очистка строк
  • Стандартизация форматов данных