Bir URL alma parçaları (Düzenli ifade)
URL (tek satır) verilen:< / ^ br . http://test.example.com/dir/subdir/file.html
Nasıl normal ifadeler kullanma: aşağıdaki parçaları ayıklamak
- Alt (test)
- Etki alanı (example.com)
- Olmayan dosya yolu (/dir/subdir/)
- Dosya (file.html)
- Dosya (/) dir/subdir/file.html yolu
- Yolu (http://test.example.com) olmadan URL
- (yararlı olacağını düşünüyorum.)
Normal ifade aşağıdaki URL girersem bile düzgün çalışması gerekir:< / ^ br . http://example.example.com/example/example/example.html
Teşekkür ederim.
CEVAP
Ayrıştırma ve ayrılık için tek bir düzenli bir tam URL sorgu parametreleri de dahil olmak üzere ve çapalar örneğin
https://www.google.com/dir/1/2/search.html?arg=0-a&arg1=1-b&arg3-c#hash
^((http[s]?|ftp):\/)?\/?([^:\/\s] )((\/\w )*\/)([\w\-\.] [^#?\s] )(.*)?(#[\w\-] )?$RexEx pozisyonlar:
url: [$&''], . RegExp
protokol:RegExp.$2,
host:RegExp.$3,
yol:RegExp.$4,
dosya:RegExp.$6,
sorgu:RegExp.$7,
karma:RegExp.$8
daha sonra ana ayrıştırılamadı ('.' sınırlandırılmış) oldukça kolay.
NeBenyapmaz böyle bir şey: kullanın
/*
^(.*:)//([A-Za-z0-9\-\.] )(:[0-9] )?(.*)$
*/
proto $1
host $2
port $3
the-rest $4
'Diğerleri', mümkün olduğunca spesifik olmak ayrıştırma daha Bir düzenli olarak yapıyor, biraz deli.

Ne düzenli ifade motoru Nginx kullanıy...
Java düzenli ifade içinde Eşleştirici ...
Nasıl Java düzenli ifade için metin ka...
Nasıl JavaScript düzenli ifade harfler...
Bir Düzenli ifade Geçtiği maç...