Php 双引号中字符串的正则表达式不起作用?
我正在尝试使用此regexp将所有字符串包装为双引号:Php 双引号中字符串的正则表达式不起作用?,php,regex,file,csv,explode,Php,Regex,File,Csv,Explode,我正在尝试使用此regexp将所有字符串包装为双引号: "(?:[^"\\]|\\.)*" 我已经在这个网站上尝试过了:它确实有效,但是当我把它放在我的php代码中时,就像这样: if( preg_match('/"(?:[^"\\]|\\.)*"/', $input_line, $output_array) ) { . . . } if( preg_match('/"(?:[^"\\\]|\\.)*"/', $sLine, $matches) ){ . . . } 我得到了这个错误: W
"(?:[^"\\]|\\.)*"
我已经在这个网站上尝试过了:它确实有效,但是当我把它放在我的php代码中时,就像这样:
if( preg_match('/"(?:[^"\\]|\\.)*"/', $input_line, $output_array) )
{
.
.
.
}
if( preg_match('/"(?:[^"\\\]|\\.)*"/', $sLine, $matches) ){
.
.
.
}
我得到了这个错误:
Warning: preg_match(): Compilation failed: missing terminating ] for character class at offset 15
我错过了什么
已解决:
正如mario所指出的,PHP正在转义一个反斜杠,我让它这样工作:
if( preg_match('/"(?:[^"\\]|\\.)*"/', $input_line, $output_array) )
{
.
.
.
}
if( preg_match('/"(?:[^"\\\]|\\.)*"/', $sLine, $matches) ){
.
.
.
}
在PHP中定义正则表达式最可靠的方法如下:
$regex = <<<'REGEX'
/"(?:[^"\\]|\\.)*"/
REGEX;
$regex=在PHP中定义regex最可靠的方法如下:
$regex = <<<'REGEX'
/"(?:[^"\\]|\\.)*"/
REGEX;
$regex=在PHP中定义regex最可靠的方法如下:
$regex = <<<'REGEX'
/"(?:[^"\\]|\\.)*"/
REGEX;
$regex=在PHP中定义regex最可靠的方法如下:
$regex = <<<'REGEX'
/"(?:[^"\\]|\\.)*"/
REGEX;
$regex=反斜杠在PHP双引号或单引号字符串上下文中自动转义preg_match
在]
之前只会看到一个反斜杠。另请参见:非常感谢@mario,我花了几个小时试图解决这个问题,终于让它工作了:d反斜杠在PHP双引号或单引号字符串上下文中自动转义preg_match
在]
之前只会看到一个反斜杠。另请参见:非常感谢@mario,我花了几个小时试图解决这个问题,终于让它工作了:d反斜杠在PHP双引号或单引号字符串上下文中自动转义preg_match
在]
之前只会看到一个反斜杠。另请参见:非常感谢@mario,我花了几个小时试图解决这个问题,终于让它工作了:d反斜杠在PHP双引号或单引号字符串上下文中自动转义preg_match
在]
之前只会看到一个反斜杠。另请参见:非常感谢@mario,我花了几个小时试图解决这个问题,终于让它工作了:D