Требуется некоторое уточнение:
.
rA = re.compile ('(? & lt ;!) [a-z52] +')
'(? & lt ;!) [a-z52] +'
является паттерном
rA
является экземпляром класса RegexObject , тип которого & lt; * type '_sre.SRE_Pattern'> *.
Лично я использую термин regex исключительно для этого типа объектов, а не для шаблона.
Обратите внимание, что rB = re.compile (rA)
также возможно, он создает один и тот же объект (id (rA) == id (rB) равен True)
ch = 'lshdgbfcs luyt52uir bqisuytfqr454' x = rA.match (ch) # или y = rA.search (ch)
x и y являются экземплярами класса MatchObject , тип которого - * & lt; type '_sre.SRE_Match'> *
.
Тем не менее, вы хотите знать, есть ли способ определить, может ли регулярное выражение rA соответствовать всем строкам, соответствующим другое регулярное выражение rB, в то время как rB соответствует только поднабору всех строк, сопоставленных rA.
Я не думаю, что такой способ существует, независимо от теоретического или практически.
JEP, входящие в JDK 8 и JDK 9, перечислены на на этой странице . JEP-159 не входит в их число. Из jep index вы можете видеть, что JEP-159 еще не нацелен на выпуск JDK, даже не jdk 10.
Состояние JEP-159 в настоящее время «Представлено» . Процесс описан следующим образом:
Успешный JEP проходит через следующие состояния:
- Черновик - в обращении автора для первоначального рассмотрения и формирования консенсуса
- Добавлено - Введен в архив JEP автором для более широкого обзора
- Отправлено - Объявлено автором, чтобы быть готовым к оценке
- Кандидат - Принят для включения в «Дорожную карту» с помощью OpenJDK Lead
- Финансировано - судимо по группе или региону Ведущий будет полностью финансироваться
- Завершено - Закончено и доставлено
Таким образом, он пока не принят ни для какой дорожной карты.
Существует вилка DCEVM, хранящаяся в репозитории на Github . Он недавно был обновлен для Java 8. Бинарные файлы доступны через выпуски GitHub или на странице загрузки .
Для простых вещей, таких как методы добавления / удаления, это должно быть довольно (проверено автоматическими тестами в 16 различных конфигурациях). Тем не менее, это все равно может привести к сбою JVM, поэтому его ни в коем случае нельзя использовать в производстве.