2013-09-22 26 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}