RFC 3986 (http://www.ietf.org/rfc/rfc3986.txt) dit à l'annexe B
La ligne suivante est l'expression régulière pour briser -d'une référence URI bien formée dans ses composants.
^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?
12 3 4 5 6 7 8 9
Les chiffres de la deuxième ligne ci-dessus servent uniquement à faciliter la lisibilité; ils indiquent les points de référence pour chaque sous-expression (c'est-à-dire, chaque parenthèse appariée). Nous nous référons à la valeur correspondant à la sous-expression en $. Par exemple, correspondant à l'expression ci-dessus pour
http://www.ics.uci.edu/pub/ietf/uri/#Related
résultats dans les matchs de sous-expression suivants:
$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
où <undefined>
indique que le composant n'est pas présent, comme le cas pour le composant de requête dans la exemple ci-dessus. Par conséquent, nous peut déterminer la valeur des cinq composants
scheme = $2
authority = $4
path = $5
query = $7
fragment = $9
Ceci n'exige pas du tout d'expressions régulières - voir ma réponse :) – James
Ce n'est pas qu'il n'exige pas des expressions régulières. Cela ne devrait pas être fait en utilisant des expressions régulières. –
Mais c'est toujours utile à savoir. –