URI RFC перечисляет это регулярное выражение для разбора URI:
^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?
12 3 4 5 6 7 8 9
Где номера этих групп:
$1 = http:
$2 = http
$3 = //www.ics.uci.edu
$4 = www.ics.uci.edu
$5 = /pub/ietf/uri/
$6 = <undefined>
$7 = <undefined>
$8 = #Related
$9 = Related
Для этого URI:
http://www.ics.uci.edu/pub/ietf/uri/#Related
Регулярное выражение довольно простое и не использует никаких специальных функций, предоставляемых lib регулярным выражением, поэтому возьмите такое, которое совместимо с вашей реализацией паскаля, и все готово.