Regex in überlappende Saiten aufgeteilt

Ich erkunde die Möglichkeiten regulärer Ausdrücke und frage mich nur, ob so etwas möglich ist:

public class StringSplit {
    public static void main(String args[]) {
        System.out.println(
            java.util.Arrays.deepToString(
                "12345".split(INSERT_REGEX_HERE)
            )
        ); // prints "[12, 23, 34, 45]"
    }
}

Wenn möglich, geben Sie einfach den regulären Ausdruck an (und erläutern Sie präventiv, wie er funktioniert).

Wenn es nur in einigen anderen Regex-Versionen als Java möglich ist, können Sie auch diese bereitstellen.

Wenn es nicht möglich ist, erklären Sie bitte warum.

BONUS-FRAGE

Gleiche Frage, aber mit einemfind() Schleife stattsplit:

    Matcher m = Pattern.compile(BONUS_REGEX).matcher("12345");
    while (m.find()) {
        System.out.println(m.group());
    } // prints "12", "23", "34", "45"

Bitte beachten Sie, dass es nicht so sehr darum geht, eine konkrete Aufgabe auf die eine oder andere Weise zu erfüllen, sondern dass ich reguläre Ausdrücke verstehen möchte. Ich brauche keinen Code, der macht, was ich will. Ich möchte reguläre Ausdrücke, falls vorhanden, die ich im obigen Code verwenden kann, um die Aufgabe auszuführen (oder reguläre Ausdrücke in anderen Varianten, die mit einer "direkten Übersetzung" des Codes in eine andere Sprache funktionieren).

Und wenn es sie nicht gibt, hätte ich gerne eine solide Erklärung, warum.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage