2012-05-15 75 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

相關問題