2014-01-30 68 views
1

我正在使用正則表達式從報表工具中提取數據。字符串加數字範圍的正則表達式

這裏是範圍:

cid=300000[195-429] 

我試圖?cid=[300000195]-[300000429]

但他們沒有工作。

cid是字符串的一部分。因此,例如,返回?cid = 300000197並返回?cid = 300000300

而之間的一切。

什麼是正確的正則表達式語法?

+1

雖然我確信這可以做到,但正則表達式對此並不特別好。將其解析爲數字,然後確保該數字在適當的範圍內。 –

+0

我重申@ p.s.w.g所說的正則表達式不是數值範圍的最佳工具。因此,無論您使用什麼語言,將必要範圍轉換/轉換爲「整數」,並使用您選擇的編程語言來確定範圍是否在範圍內。你的例子就是這樣的一個例子,記住維護代碼/可讀代碼更重要,它可以做很多漂亮的事情 – gwillie

回答

1

試試這個:

cid=30000(19[5-9]|[2-3]\d{2}|4[0-2]\d)

Paste the regex here and give it a try.

谷歌Analytics(分析)正則表達式引擎是相當弱的相比,那些被Perl,PHP,JavaScript和使用等特點,所以這花了一些調整。但只要您確定自己的網址符合預期的格式,就可以完成工作。

+0

謝謝你的嘗試,但實際上並沒有工作。它不會產生數據,而當我檢查具體的數字時,他們確實存在 –

+0

哎呀!你試圖提取這3個數字,沒錯。我添加了一個捕獲組,以便3位數字由表達式匹配。我也更新了這個鏈接。(http://regexr.com?3860k) – theftprevention

+0

沒有:-( 我們有很多網址:example.com/?cid=300000195,example.com/?cid=300000196,例子。 com /?cid = 300000197 ...一直到300.這些網址出現在我們的Google Analytics報告工具中,我想創建一個可吸引任何符合該範圍的流量的細分。 –

相關問題