@Synonym - Ja, da hast Du recht, ich hatte das Beispiel auch nur aus meinen gesammelten Beispiel-Dateien kopiert, fb_ eingestzt und dabei noch vergessen die # zu entfernen.
Deine Version ist also das Beispiel 5, wobei da die zweite Klammer (.*) und demzufolge auch das %2 in dem konkreten Fall nicht gebraucht werden.
Allerdings wundert mich auch dort, dass die mit ^(.*) beginnen, dann eine "Beginnt mit irgendwas" ist unnötig, ein "irgendwas" reicht Im Beispiel 4 haben sie es nicht gemacht.
Gut, 4 ist klar, falls QueryString val enthält. Bei 5, es ist ja kein Fehler, nur nicht unbedingt erforderlich und wer nun zuerst eine Scriptsprache erlernte, wird es einfacher empfinden, wenn alles einen Beginn und ein Ende hat und wird zuweilen ^ $ wie Delimiter verwenden. Ging/geht mir nicht anders.