php 正则匹配单双引号,关于正则表达式:正则表达式可在单引号内转义双引号...

我需要一个正则表达式来转义或捕获(如果尚未转义)所有双引号字符,并将它们放在一个单引号中,然后将开头的单引号转换为双引号!

我们正在重构PHP和JS文件中具有很多(我的意思是很多!)单引号字符串的文件。它们唯一的共同点是字符串至少在一行中,并且在两种语言中都用=表示。

我举一个例子(这个例子是丑陋的旧代码,所以请不要判断它,我已经做到了:))

我们有一个像这样开始的文件:

var baseUrl = $("#baseurl").html();

var head = ''+

'';

我希望它看起来像这样:

var baseUrl = $("#baseurl").html();

var head ="" +

"";

如您所见,未触及正确的双引号字符串。

所以我的基本问题是:如何捕获某个开始字符和结束字符(在我的情况下是字符')之间的一种字符(在我的情况下是字符"")。

这个正则表达式'.*(").*'或'[^']*(")[^']*'每次比赛总是为我捕获一个"。如果需要多个步骤,也可以,那么就可以了。

我对任何能够正常工作的解决方案(IDE特定,语言特定或外壳特定)感到满意。

请帮助,我很拼命,非常感谢

最大的问题是要弄清楚所有字符串的位置,因为您不能使用正则表达式解析所有JS或PHP。但是,如果我假设您不关心注释,

你可能感兴趣的:(php,正则匹配单双引号)