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

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

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

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

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

var head = ''+

我希望它看起来像这样:

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

var head ="" +

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

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

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

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

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

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

我需要一个正则表达式来转义或捕获(如果尚未转义)所有双引号字符,并将它们放在一个单引号中,然后将开头的单引号转换为双引号!我们正在重构PHP和JS文件中具有很多(我的意思是很多!)单引号字符串的文件。它们唯一的共同点是字符串至少在一行中,并且在两种语言中都用=表示。我举一个例子(这个例子是丑陋的旧代码,所以请不要判断它,我已经做到了:))我们有一个像这样开始的文件:var baseUrl = $(...
单引号 ''是全引用,被 单引号 括起的内容不管是常量还是变量者不会发生替换; 双引号 ""是部分引用,被 双引号 括起的内容常量还是常量,变量则会发生替换,替换成变量内容! 一般常量用 单引号 ''括起,如果含有变量则用 双引号 ""括起! 单引号 双引号 的最大不同在于 双引号 仍然可以保有变数的内容,但 单引号 内仅能是一般字 元 ,而不会有特殊符号 “”号里面遇到$,\等特殊字符会进行相应的变量替换
正则表达式 中有 转义 字符,其作用主要是对 正则表达式 中的元字符进行 转义 ,使其可以匹配元字符本身而不是其特殊的元字符含义。一般的编程语言(包含SQL)中也都有 转义 字符的概念,这些 转义 字符通常都有特殊的含义,比如在windows系统中,'\n'指示换行。两类 转义 字符都以'\'开始。这里具体对两类 转义 字符进行说明。 1.编程语言中的 转义 字符 编程语言中的 转义 字符通常都是些特殊字符。编程语言中常见的 转义 字...
双引号 双引号 类似于 单引号 ,但不会屏蔽` \ $ 这三个shell元字符的含义,如果需要屏蔽需要前面加一个\符号,其他字符的功能将被屏蔽(包括 单引号 ),两个 双引号 之间的 单引号 不必成对出现 1、当pattern或者说匹配模式中,没有空格,可以不用引号,但是有空格一定要用引号。 2、考...
在Linux Shell中, 单引号 双引号 用于表示字符串。使用 单引号 括起来的字符串,其中的变量不会被扩展,而使用 双引号 括起来的字符串,其中的变量会被扩展。 举个例子: ```bash name="Alice" echo 'Hello, $name!' # 输出:Hello, $name! echo "Hello, $name!" # 输出:Hello, Alice! 在第一个echo语句中,使用了 单引号 括起来的字符串,其中的变量$name没有被扩展,最终输出结果为"Hello, $name!"。而在第二个echo语句中,使用了 双引号 括起来的字符串,变量$name被扩展成了"Alice",最终输出结果为"Hello, Alice!"。 需要注意的是,在 单引号 内部不能使用 单引号 ,而在 双引号 内部可以使用 双引号 和反斜杠来 转义 特殊字符。