2012-05-15 69 views
0

我有一个加载插件的conf文件。我需要解析和目录在同一目录中符合特定插件,而不是其他:正则表达式匹配的DLL但不是目录

plugin: c:\program files\application\abc\abc.dll 
plugin: c:\program files\application\abc\xyz.dll 

我需要的只是abc.dll但由于匹配的事实,农行也是在目录名,这两条线的比赛,但我不想xyz.dll

所以,我想: ^插件:(。*)(abc.dll)

所以^ =行,然后插件,然后开始*。任何东西,然后ABC逃脱点DLL。

但它似乎没有工作。任何人都可以帮忙吗?

+0

你在使用? Shell脚本,Java等... –

+0

将使用boost :: regex,但我需要了解更多,我认为:) – smurff1975

+0

为什么你说'^插件:(。*)(abc.dll)'不起作用?它只匹配'plugin:c:\ program files \ application \ abc \ abc.dll' – sln

回答

1

问题是abc.dll中的点。尝试转义它,这不是一个通配符。

^plugin:(.*)(abc\.dll) 
+0

他的正则表达式'^ plugin:(。*)(abc.dll)'和你的行匹配abc.dll – sln

0

你想用这个正则表达式:

([a-zA-Z0-9-_]*\.dll) 

下面是example

+0

或'^插件:(。*)([^ \。] + \。dll)' – inhan

+0

谢谢,但这匹配第二个权利? – smurff1975

+0

这与匹配** abc.dll **和** xyz.dll **的第二个加括号的组中。 – inhan

相关问题