Czy jest jakiś optymalizator Regex napisany w Javie?
Napisałem program Java, który może generować sekwencję symboli, takich jak"abcdbcdefbcdbcdefg"
. Potrzebuję optymalizatora Regex, co może spowodować"a((bcd){2}ef){2}g"
.
Ponieważ dane wejściowe mogą zawierać Unicode, jak"a\u0063\u0063\bbd"
, Wolę wersję Java.
Powodem, dla którego chcę uzyskać „krótsze” wyrażenie, jest oszczędność miejsca / pamięci. Sekwencja symboli tutaj może być bardzo długa.
Ogólnie rzecz biorąc, znalezienie „najkrótszego” zoptymalizowanego wyrażenia regularnego jest trudne. Więc nie potrzebuję tych, które gwarantują „najkrótsze” kryteria.