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.
Java Düzenli ifade meta karakter (.) v...
Satır eşleştirmek için düzenli ifade e...
Düzenli ifade dönüştürmek kullanıcı gi...
CamelCase veya TitleCase bölmek için d...
javascript düzenli ifade - alternatif ...