2013-09-22 54 views
0

我有可能是一個微不足道的查詢,但我似乎無法得到我的頭。正則表達式來匹配URL子串

我有一些日誌,我需要從中提取某些信息。日誌格式中的(虛構的示例):

www.examplesite.com/user?=/exl/1241374456/in/home 
www.examplesite.com/user?=/exl/1228334956/in/home 
www.examplesite.com/user?=/exl/1221834456/in/home 
www.examplesite.com/user?=/exl/1229934456/in/home 

格式總是相同的,即/exl/(ten digit identifier)…

我想知道是否可以使用.NET正則表達式匹配來解決這個問題。

我似乎無法建立一個適用於此的正則表達式。任何想法或幫助將不勝感激。

+2

爲什麼正則表達式?內容如此規則,你可以使用普通的字符串查找(查找'/ exl /'),然後取下10個字符。 – Richard

+0

@ user1171534你需要什麼 - 十位數字或完整的URL? – PurpleXenon

回答

1

這應該總是標記:/ EXL/1241374456

\/exl\/\d{10} 
+2

謝謝,我終於到了那裏。我太過複雜了。漂亮簡潔優雅的解決方案。感謝所有有意見的人! – user1171534

0

如果您需要十位數的標識符,請使用此值;

www\.examplesite\.com/user\?=/exl/(?<Number>[0-9]{10})/in/home 

演示here

並匹配您提到的類型的URL,使用此;

www\.examplesite\.com/user\?=/exl/[0-9]{10}/in/home 

演示here

或保持它的簡單使用這個(但請注意,這是不會的URL,並在文本的任何地方簡單的10位數字來區分)

[\d]{10} 

演示here

希望它有幫助。

0

那麼,如果它將成爲字符串中唯一的十位數字標識符,則可以使用[0-9]{10}