2011-09-17 182 views
1

後,我有以下的文本文件內容的一切:我需要更換一切,除了一個空字符串(應用程序)版本號正則表達式替換匹配

<?php 
//================ Versions ================ 
$applicatoinversion = '1.2.3.40'; 
$someothervariable = 'td11'; 

$dbversion = '2.3.1.4'; 

Other code here 
?> 

。所以我可以保存以下文件:

1.2.3.40 

我沒有使用programmig語言,所以我只需要使用正則表達式替換。

到目前爲止可以匹配的版本號:

(?<=\$applicatoinversion = \')(([0-9]\.){1,3}([0-9])+)(?=\';) 

和管理,之前匹配所有:

(.|\n)*(?= 
(?<=\$applicatoinversion = \')(([0-9]\.){1,3}([0-9])+)(?=\';) 
) 

但我卡住了。我無法匹配版本號前後的所有內容。這裏有哪位大師?

在此先感謝

+0

更好的方法是從文件中獲取的版本號,並保存(替換文件),比替換剩下的要多。我不知道該怎麼做,你沒有提供更多的細節,你如何應用正則表達式。 – nothrow

+0

@Yossarian 正如我所說,我需要做的正則表達式。我使用FinalBuilder的GUI應用正則表達式,所以不能使用任何編程語言來操作文件。 – Slava

回答

2

(?s).*applicatoinversion = '(([0-9]\.){1,3}([0-9])+)'.*

只是比賽全部更換,從第1組

+0

它似乎正常工作,除了\ s標誌... – Slava

+0

沒有\只有一行被$ 1取代,是否有解決方法? – Slava

+0

我編輯了答案並添加了/ s標誌到正則表達式 –