Как проверить, эквивалентны ли два шаблона из эквивалентной регуляцииJAVA

Программисты JAVA общаются здесь
Anonymous
Как проверить, эквивалентны ли два шаблона из эквивалентной регуляции

Сообщение Anonymous »

У меня есть два регулярных выражения с использованием java.util.regex.pattern.compile. Первый: < /p>
input[\\s\\w=:'\\-"]*type\\s*=\\s*['"]password['"];
< /code>
Второй: < /p>
input[\\s\\w=:'\\-\\\"]*type\\s*=\\s*['\\\"]password['\\\"];
< /code>
Единственное различие между этими двумя режимами - избежать двойных кавычек в последней строке. «И« см. В том же символе ASCII », чтобы они получали одинаковые результаты сопоставления.Pattern p1=Pattern.compile("input[\\s\\w=:'\\-\"]*type\\s*=\\s*['\"]password['\"]");
Pattern p2=Pattern.compile("input[\\s\\w=:'\\-\\\"]*type\\s*=\\s*['\\\"]password['\\\"]");
System.out.println(p1.equals(p2));
< /code>
Обновления:
Из ответов ясно, что класс шаблонов не реализует функцию Equals. Код. < /p>
Пример: целое число не более 3 цифр может быть [1-9] \ d {0,2} или [1-9] \ d \ d. < /p>
Pattern p1=Pattern.compile("[1-9]\\d{0,2}");
Pattern p2=Pattern.compile("[1-9]\\d\\d");
System.out.println(p1.equals(p2)); // false


Подробнее здесь: https://stackoverflow.com/questions/521 ... equivalent

Вернуться в «JAVA»