Düzenli ifadeler ile URI'lerinin parçaları eşleştirerek

2 Cevap php

Ben Propıd'yi sayılar dışındaki yeteneği ile bu url / Real_estate_Listing_Detail.asp? Propıd'yi = 245 maç istiyorum ...

Diğer bir deyişle,

Maç / Real_estate_Listing_Detail.asp? Propıd'yi = 286289290180 hariç BURAYA HERHANGİ NUMARASI,

Şimdiden teşekkürler ... Bu kadar zor ben bunu yapmak gibi olmamalı ...

Bu bir WordPress eklentisi için, yani bir tek satır experssion gereklidir.

2 Cevap

Desteklediğinden kullandığınız dil look-around assertions, bu kullanmak olsaydı:

^/Real_estate_Listing_Detail\.asp\?PropID=(?!(?:286|289|290|180)$)\d+$
^/Real_estate_Listing_Detail\.asp\?PropID=\d+(?<!=(?:286|289|290|180))$

Ilk İleriye iddia ve göz arkasında iddianın ikinci.

Aksi takdirde iki ifadeler kullanmak: Bir belirli değerleri dışlamak için desen ve bir maç için:

^/Real_estate_Listing_Detail\.asp\?PropID=\d+$
^/Real_estate_Listing_Detail\.asp\?PropID=(286|289|290|180)$

İkinci eşleşmemelidir süre Yani ilk ifade eşleşmesi gerekir.

Eğer. NET kullanarak ediyorsanız, size geçerli bir gerçek / URL var sağlamak için System.Uri ilk örneğini oluşturmak isteyebilirsiniz. Daha sonra diğerleri nitelendirdiler daha sürecine URL çeşitli parçaları ayıklamak için özellikleri / yöntemleri kullanabilirsiniz.