SORU
26 AĞUSTOS 2008, Salı


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

  1. Alt (test)
  2. Etki alanı (example.com)
  3. Olmayan dosya yolu (/dir/subdir/)
  4. Dosya (file.html)
  5. Dosya (/) dir/subdir/file.html yolu
  6. Yolu (http://test.example.com) olmadan URL
  7. (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
26 AĞUSTOS 2008, Salı


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • cyriak

    cyriak

    29 Mart 2006
  • DominicFear

    DominicFear

    30 Kasım 2006
  • parlophone

    parlophone

    28 ŞUBAT 2006