2016-04-06 42 views
-1

:URL yapısında belirli bir durum için çalışan benim birden regex alınamıyor aşağıda URL'min yapılar için regex maç için çalışıyorum

SPECIFIC CASE #1: 
http://www.example.com/webapp/some-text.html 
http://www.example.com/webapp/some-text-a1.html 
http://www.example.com/webapp/some-a2-text.html 

SPECIFIC CASE #2: 
http://www.example.com/webapp/first-text-vs-some-text.html 
http://www.example.com/webapp/first-text-a1-vs-sec-b2-text.html 
http://www.example.com/webapp/first-text-a1-vs-sec-b2-text-vs-third-c3-text.html 
http://www.example.com/webapp/some-text-a1-vs-sec-text-b2-vs-third-text-vs-last-text-c1.html 

SPECIFIC CASE #3: 
http://www.example.com/webapp/sub-app/some-text-a1.html 

Benim regex geçerli:

SPECIFIC CASE #1: 
\/webapp\/(.*)\.html 

SPECIFIC CASE #3: 
\/webapp\/sub-app\/(.*)\.html 

Vaka # 1 ve # 3 çalışma. Ama # 2 için # 1 dahil herşeyi işliyor.

şey Yukarıdaki örnek bazı işler bağlayan ziyaret ederseniz yani benim Web uygulaması yapılandırılmış olmasıdır ve diğer Sanırım bunun için birden fazla vaka var çünkü benim regex yanlış olduğunu düşünüyorum bana hata 404.

verir. Şu anda sadece belirli durumda # 1 için çalışıyor.

Tahminim, yukarıda belirtilen ifadelerim bunun için iyi değil. Bunun için multuple regexlere ihtiyacım var mı? Hangisi?

Verilen URL içinde "vs" değerinin (bir veya daha fazla) var olup olmadığını kontrol etmek için regex'in bir yolu var mı?

Herhangi bir fikir veya daha iyi çözümler var mı?

Herhangi bir yardım için teşekkür ederiz!

Çok teşekkürler!

/\/webapp\/(.*)(-vs-.*)+\.html/ 

Bu regex kez ya da daha fazla herhangi tekrarlayan -vs-.* eşleşir: Bu regex nereden

+1

Ben Case # 1 den Vaka 2. farklıdır biliyor miyim? Bu 'vs' anahtar kelimesi mi? –

+0

Tam olarak. Fark "vs" kelimesidir. Şu anda (vs:? – Fritex

+0

\/webapp \ /.* (?:^| \ W) vs (?: $ | \ W) +. * Html - bu regex tamam mı? – Fritex

cevap

1
+0

Bunun için teşekkürler. İşe yarıyor! Parlak! Ayrıca, regex. *^((?! vs). *) + Html eksik/webapp/URls içermeyen kelime "vs" için önce. Herhangi bir fikir? – Fritex

+0

Oldukça anlamıyorum ..: D –

+0

Kötü ingilizce için özür dilerim. İntikamınız vs (tekrarlayan) için çalışır - bu mükemmeldir. CASE # 1 veya bu "vs" içermeyen URL'leri nasıl hedefleyebilirim? ^ ((?! vs). *) +. Html var, ancak/webapp/önce eksik olduğundan doğru olup olmadığından emin değilim. – Fritex