Werden Regex mit Capturing Groups in Java so kompiliert, dass der gemeinsame Teil auch nur einmal gelesen wird?
In dem Regex "(Autowerkstatt)|(Automobil)" ist der übereinstimmende Teil "Auto" und es wäre performancemäßig ziemlich dämlich, noch mal von vorn anzufangen, wenn die erste Capturing Group (Autowerkstatt) nicht passt. Ist die Regex-Engine von Java so schlau das wie "(Auto)((werkstatt)|(mobil))" zu behandeln (außer dass "Auto" natürlich keine eigene Capturing Group ist).
Ganz allgemein geht es mir darum, bei vielen Regexen den passenden zu ermitteln, ohne bei jedem Regex von vorn anzufangen.
In dem Regex "(Autowerkstatt)|(Automobil)" ist der übereinstimmende Teil "Auto" und es wäre performancemäßig ziemlich dämlich, noch mal von vorn anzufangen, wenn die erste Capturing Group (Autowerkstatt) nicht passt. Ist die Regex-Engine von Java so schlau das wie "(Auto)((werkstatt)|(mobil))" zu behandeln (außer dass "Auto" natürlich keine eigene Capturing Group ist).
Ganz allgemein geht es mir darum, bei vielen Regexen den passenden zu ermitteln, ohne bei jedem Regex von vorn anzufangen.
Zuletzt bearbeitet: