2016-12-11 40 views
1

例如字符串:a49x // 3iiKZ4:3kk3l匹配字符和數字後//

我想匹配//之間的一切:上面的字符串中的字符。我可以匹配4:它的一部分,但我無法匹配其他字符,因爲我無法弄清楚如何匹配//。

這裏是我現有的正則表達式:

[A-ZA-Z0-9]:

如果我一開始進入//,它失敗。我也試過// \這樣的:

// [A-ZA-Z0-9]:

我怎麼能這個字符串匹配所以

3iiKZ4

是否退貨?我不想返回//或:字符,只有它們之間的字符。

回答

2

您需要用反斜槓將每個斜槓轉義,但您還需要在方括號後面添加一個*或+以確保它捕獲一個或多個字母或數字。反斜槓需要之前你逃跑的角色,而不是之後。

然後,您可以將括號括起來以將文本捕獲爲一個組。

這應該爲你工作:\/\ /([A-ZA-Z0-9] *):

$ a1將是組ID包含//和之間的字符串:

+0

這是完美的,但它也抓住了//和:這些都超出了價值觀。是否有可能返回//中間的所有內容,但不返回這些實際字符?他們只是標識符。 – dingalingchickenwiing

+1

工作原理 - 謝謝!我一直在嘗試幾個小時來解決它...;) – dingalingchickenwiing