使用正则表达式将字符串替换为相同的字符串,并使用php删除引号(";)

使用正则表达式将字符串替换为相同的字符串,并使用php删除引号(";),php,regex,Php,Regex,我有一个多行字符串,如下所示- ?a="text1 ?bc="text23 我需要识别一个模式,比如使用下面的正则表达式 '/[?][a-z^A-Z]+[=]["]/' 并通过删除其中的双引号(“)替换我的字符串,预期输出如下所示 ?a=text1 ?b=text23 请使用php帮助解决上述问题。捕获捕获组()中除报价之外的所有内容并替换: $string = preg_replace('/([?][a-z^A-Z]+[=])["]/', '$1', $string);

我有一个多行字符串,如下所示-

   ?a="text1
    ?bc="text23
我需要识别一个模式,比如使用下面的正则表达式

  '/[?][a-z^A-Z]+[=]["]/'
并通过删除其中的双引号(“)替换我的字符串,预期输出如下所示

?a=text1
?b=text23

请使用php帮助解决上述问题。

捕获捕获组
()
中除报价之外的所有内容并替换:

$string = preg_replace('/([?][a-z^A-Z]+[=])["]/', '$1', $string);
但是您确实不需要所有这些字符类
[]

/(\?[a-z^A-Z]+=)"/

捕获捕获组中除报价之外的所有内容
()
,并替换:

$string = preg_replace('/([?][a-z^A-Z]+[=])["]/', '$1', $string);
但是您确实不需要所有这些字符类
[]

/(\?[a-z^A-Z]+=)"/

我将给出另一个解决方案,因为我也看到了php标记。假设您有以下内容:

$a='"text1';
$b='"text2'; 
如果我回应他们,我会得到

"text1
"text2
为了消除双引号,php中有一个函数trim,您可以这样使用:

echo trim($a,'"');
echo trim($b,'"');
结果将是

text1
text2

我认为在这种情况下,只要您使用php,就不需要正则表达式。php可以处理这些小事情,而不必处理复杂的正则表达式。

我将给出另一个解决方案,因为我也看到了php标记。假设您有这些:

$a='"text1';
$b='"text2'; 
如果我回应他们,我会得到

"text1
"text2
为了消除双引号,php中有一个函数trim,您可以这样使用:

echo trim($a,'"');
echo trim($b,'"');
结果将是

text1
text2

我认为在这种情况下,只要你使用php,你就不需要正则表达式。php可以处理这些小事情,而不需要复杂的正则表达式。

我需要保留找到的相同字符串,只需替换双引号
=
不是正则表达式中的保留字符,不需要对字符串进行字符分类。如果目标只是删除空格和双引号,则
str_replace
trim
可能更容易。我需要保留找到的相同字符串,只需替换双引号
=
不是正则表达式中的保留字符,不需要对字符进行分类。如果目标只是删除空格和双引号,则
str\u replace
trim
可能更容易。问题中没有说明,但第一个参数似乎需要修剪为1个字符。”。e、 g
bc
变成了
b
(或者它只是一个打字错误)我们会看到,我刚才看到用删除双引号(“)来替换我的字符串,这在问题中没有说明,但第一个参数似乎需要修剪为1个字符..例如
bc
变成了
b
(或者它只是一个打字错误)我们会看到,我刚才看到用删除双引号(“)替换字符串