2011-09-17 139 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标志到正则表达式 –