Как использовать оператор switch с регулярными выражениями в Java?
Jan 16, 2026
Оставить сообщение
Йо! Я поставщик переключателей, и сегодня я расскажу о том, как использовать оператор переключателя с регулярными выражениями в Java. Это может показаться немного сложным, но не волнуйтесь, я вам расскажу.
Прежде всего, что такое оператор переключения в Java? Ну, это структура управления, которая позволяет вам выбрать один из многих блоков кода для выполнения в зависимости от значения выражения. Например, вы можете использовать оператор переключения для обработки различных случаев в зависимости от дня недели.
интервал дня = 3; переключатель (день) { случай 1: System.out.println("Понедельник"); перерыв; случай 2: System.out.println("Вторник"); перерыв; случай 3: System.out.println("Среда"); перерыв; // и так далее... по умолчанию: System.out.println("Недопустимый день"); }
Но что, если мы хотим использовать регулярные выражения в операторе переключения? Регулярные выражения — это шаблоны, используемые для сопоставления комбинаций символов в строках. Они очень полезны, когда вам нужно обрабатывать различные типы текстовых вводов.
В Java до Java 14 использование регулярных выражений непосредственно в операторе переключения было непростой задачей. Но начиная с Java 14 мы получили несколько интересных новых функций, таких как выражения переключения и сопоставление шаблонов, которые значительно упрощают эту задачу.
Допустим, у нас есть строка, представляющая разные типы имен переключателей, и мы хотим выполнять разные действия в зависимости от шаблона имени. Вот как мы можем это сделать:
импортировать java.util.regex.Pattern; public class SwitchRegexExample { public static void main(String[] args) { String switchName = "6GK5008 - 0BA10 - 1AB2 Electric Switch Scalance XB008"; // Мы определим некоторые шаблоны регулярных выражений. Pattern Pattern1 = Pattern.compile("^6GK\\d+-\\w+-\\w+"); Шаблон шаблон2 = Pattern.compile("^D4A-\\d+N"); Шаблон шаблон3 = Шаблон.компилировать("^514120"); if (pattern1.matcher(switchName).find()) { switch (switchName) { имя переменной случая, когда шаблон1.matcher(name).matches(): System.out.println("Соответствует шаблону, похожему на 6GK..."); // Здесь вы можете включить дополнительные действия System.out.println("Оцените этот связанный переключатель: [6GK5008-0BA10-1AB2 Electrical Switch Scalance XB008](/industrial-electronic-parts/switch/6gk5008-0ba10-1ab2-electrical-switch.html)"); перерыв; по умолчанию: System.out.println("Нет совпадений"); } } else if (pattern2.matcher(switchName).find()) { switch (switchName) { имя переменной случая, когда шаблон2.matcher(name).matches(): System.out.println("Соответствует шаблону, похожему на D4A..."); System.out.println("Вот соответствующий переключатель: [D4A - 4501N D4A - 4510N Концевой выключатель](/industrial-electronic-parts/switch/d4a-4501n-d4a-4510n-limit-switch.html)"); перерыв; по умолчанию: System.out.println("Нет совпадений"); } } else if (pattern3.matcher(switchName).find()) { switch (switchName) { имя переменной случая, когда шаблон3.matcher(name).matches(): System.out.println("Соответствует шаблону, похожему на 514120..."); System.out.println("Взгляните на этот привод: [514120 Actuator](/industrial-electronic-parts/switch/514120-actuator.html)"); перерыв; по умолчанию: System.out.println("Нет совпадений"); } } } }
В этом коде мы сначала определяем три шаблона регулярных выражений. Затем мы проверяем, есть лиимя переключателястрока соответствует каждому шаблону. Если это так, мы используем оператор переключения для обработки соответствующего случая. Внутри соответствующего ящика мы печатаем сообщение и предоставляем ссылку на соответствующий продукт.
Теперь давайте немного разберем код.Шаблон.компилировать()метод используется для созданияШаблонобъект из строки регулярного выражения.МатчиЗатем класс используется для фактического сопоставления с заданной входной строкой.совпадения()метод проверяет, соответствует ли вся входная строка шаблону, а методнаходить()Метод проверяет, соответствует ли какая-либо часть входной строки шаблону.
регистр имя переменной, когда...синтаксис — новая функция в Java 14 и более поздних версиях. Это позволяет нам использовать условие сопоставления с образцом в случае переключения. Это упрощает написание чистого и читаемого кода при работе со сложными условиями.
Использование регулярных выражений в операторе переключения может быть очень удобно в сценариях, где у вас есть большое количество возможных входных значений, и вы хотите сгруппировать их на основе определенных шаблонов. Например, в системе, которая управляет различными типами электрических переключателей, у вас могут быть имена, соответствующие определенным соглашениям об именах. Используя регулярные выражения, вы можете легко классифицировать и обрабатывать эти переключатели на основе их имен.
Если вы ищете переключатели или сопутствующие товары, вы знаете, что мы можем предложить широкий ассортимент. Ищете ли вы6GK5008-0BA10-1AB2 Электрический выключатель Scalen XB008,D4A – 4501N D4A – 4510N Концевой выключательили514120 Привод, мы здесь, чтобы помочь вам. Если вы заинтересованы в совершении покупки или просто хотите обсудить ваши требования, не стесняйтесь обращаться к нам. Мы всегда готовы к хорошей дискуссии и помочь вам найти продукты, соответствующие вашим потребностям.
Ссылки


- Java-документация
- Учебники по регулярным выражениям
Отправить запрос




