极品

2017-08-03 192 views
-1

正则表达式我有喜欢极品

<HintPath>..\..\..\..\lib\EntityFramework.dll</HintPath> 
<HintPath>..\..\..\..\lib\New.Bksjdhf.Maintenance.STDTYU.dll</HintPath> 
<HintPath>..\..\..\..\lib\New.Ware.Maintenance.STDFRT.dll</HintPath> 

我需要一个正则表达式来输出

的EntityFramework

STDTYU

STDFRT在一个文本文件中的行

+0

什么正则表达式的味道测试表达式是你使用? – travisjayday

+0

你不需要正则表达式。首先解析输入(看起来像XML),然后解析路径并提取文件名。剥去扩展名,最后将字符串拆分为'.'并得到最后一个。完成。 –

回答

1
\w*(?=\.dll) 

这个匹配“.dll”之前的所有字母。

  • 所以像这样的字符串:"Some.Name.Of.Assembly.dll"会给"Assembly"
  • 像这样的字符串:"\..\..\Assembly.dll"也会给"Assembly"

我通常在http://regexstorm.net/tester

+0

谢谢你的作品。 – vijay

0

你可以使用正则表达式来查找STD的第一次出现,然后你选择所有的东西ntil和包括.dll扩展名。因此,使用这样的:

STD.+dll

这取决于你想做的事,但。作为@Niet黑暗Absol说,它可能是最好的只是分割你的字符串,而不是使用正则表达式。