Okay, habs hinbekommen:
Was mir aber noch nicht gefällt, ist die einzelne Aufzählung der Möglichkeiten (weil Assertions keine Subpatterns mit variabler Zeichenlänge nehmen) und folgendes:
Schreibt ich z.B. R U R' U' wird das nun ganz normal verlinkt.
Schreibe ich aber R U R' U Und danach einen Buchstaben, der zum Algo gehören könnte, würde hier das U von Und mitverlinkt werden. Ansonsten geht das teil ganz gut.
EDIT: Letzteres ist nun auch behoben. Ich hab einfach (\x20?) ("vielleicht eine Leertaste") durch (\x20|[^[:alnum:]]) ("Eine Leertaste oder kein alphanummerisches Zeichen") ersetzt.
Code:
#(?<!U|U'|U2|D|D'|D2|F|F'|F2|B|B'|B2|R|R'|R2|L|L'|L2)(((F|B|R|L|U|D)('|2){0,1}(\x20?)){3,})(?!U|U'|U2|D|D'|D2|F|F'|F2|B|B'|B2|R|R'|R2|L|L'|L2)#
=>
<a href=\"http://alg.garron.us/?alg=$1&animtype=solve\" target=\"_blank\">$1</a>
Was mir aber noch nicht gefällt, ist die einzelne Aufzählung der Möglichkeiten (weil Assertions keine Subpatterns mit variabler Zeichenlänge nehmen) und folgendes:
Schreibt ich z.B. R U R' U' wird das nun ganz normal verlinkt.
Schreibe ich aber R U R' U Und danach einen Buchstaben, der zum Algo gehören könnte, würde hier das U von Und mitverlinkt werden. Ansonsten geht das teil ganz gut.
EDIT: Letzteres ist nun auch behoben. Ich hab einfach (\x20?) ("vielleicht eine Leertaste") durch (\x20|[^[:alnum:]]) ("Eine Leertaste oder kein alphanummerisches Zeichen") ersetzt.