0

可以說我想匹配url,它不在html標籤中的特定屬性集內。javascript正則表達式匹配任何不屬於特定屬性的內容

<span cstm1="url1" cstm2="url2" data-x="url3">url4</span> 

我想匹配URL3只有URL4,所以我想是這樣的:

/(?!(?:cstm1|cstm2)=["']?)(url_regex)/g 

問題是負先行斷言需要在前面的東西,我不能保證數不能裏面的引號是因爲它仍然有效,所以我沒有任何合理的東西來支持這個負面的前瞻斷言。

如果我能夠使用負面看後面斷言它會很容易,但我使用JavaScript不支持它,所以我有點卡住,並尋求如何實現這一目標的幫助。

我尋找正則表達式唯一的解決方案。

編輯:

的URL正則表達式我用來尋找網址:

((?:(?:https?):\/\/)(?:\S+(?::\S*)[email protected])?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|\[(?:(?:[0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,7}:|(?:[0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,5}(?::[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){1,4}(?::[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){1,3}(?::[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){1,2}(?::[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:(?:(?::[0-9a-fA-F]{1,4}){1,6})|:(?:(?::[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(?::[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(?:ffff(?::0{1,4}){0,1}:){0,1}(?:(?:25[0-5]|(?:2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(?:25[0-5]|(?:2[0-4]|1{0,1}[0-9]){0,1}[0-9])|(?:[0-9a-fA-F]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(?:25[0-5]|(?:2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\]|localhost|(?:xn--[a-z0-9\-]{1,59}|(?:(?:[a-z\u00a1-\uffff0-9]+-?){0,62}[a-z\u00a1-\uffff0-9]{1,63}))(?:\.(?:xn--[a-z0-9\-]{1,59}|(?:[a-z\u00a1-\uffff0-9]+-?){0,62}[a-z\u00a1-\uffff0-9]{1,63}))*(?:\.(?:xn--[a-z0-9\-]{1,59}|(?:[a-z\u00a1-\uffff]{2,63}))))(?::\d{2,5})?(?:\/[^"'()<>\s]*)?) 

回答

0

在沒有可以使用回顧後捕獲組來提取您的結果。

/(?:cstm1|cstm2)=(['"]?)\d+\1|(\b\d+\b)/ig 

使用captured group #2作爲您的匹配項。

RegEx Demo

+0

謝謝,但我有一個問題。當我說我想要捕捉數字時,我有點撒謊,我希望捕捉網址。我有一個從gist.github.com/dperini/729294取得的正則表達式的網址,做了一些修改。我試圖用正則表達式替換正則表達式的\ d +部分,但不幸的是它找到了一切。我無法弄清楚爲什麼會在插入url正則表達式時發生這種情況,我已將修改後的url正則表達式添加到OP中。 – Jorayen

+0

您將需要編輯該問題以澄清更多。解析網址與您的原始問題完全不同。我建議您添加樣本輸入網址和您的預期輸出。 – anubhava

相關問題