php sql,正则表达式数字逗号数字

php sql,正则表达式数字逗号数字,php,sql,preg-match,dump,Php,Sql,Preg Match,Dump,我得到了一个sql转储文件,希望循环遍历这些行,然后在每行中更改、删除和插入特定字段。现在,我需要替换所有出现的sql“,”,它们开始和结束每个字段值 我只需要帮我解决最后一个问题。我需要用我的拆分器.***.替换逗号前后有数字的所有逗号 我找到了这个正则表达式,/(^\d\d)*$/,但它怎么不起作用呢!我有包含逗号的文本字段,所以我不想替换那个些原因字段 $sqlrows = str_replace(",",'#***#',preg_match('/(^\d,\d)*$/', $sqlrow

我得到了一个sql转储文件,希望循环遍历这些行,然后在每行中更改、删除和插入特定字段。现在,我需要替换所有出现的sql
“,”
,它们开始和结束每个字段值

我只需要帮我解决最后一个问题。我需要用我的拆分器
.***.
替换逗号前后有数字的所有逗号

我找到了这个正则表达式,
/(^\d\d)*$/
,但它怎么不起作用呢!我有包含逗号的文本字段,所以我不想替换那个些原因字段

$sqlrows = str_replace(",",'#***#',preg_match('/(^\d,\d)*$/', $sqlrows)); 
// defines sql dump regex [0-9],[0-9]

您应该使用preg_replace()而不是str_replace(),如下所示:

$sqlrows = preg_replace( '/(^\d,\d)*$/', "#***#", $sqlrows );
“我需要替换所有前后都有数字的逗号 逗号和我的分隔符#*#。“

尝试以下方法:

<?php
$str = '1,2
3,4
';
$str = preg_replace('/(\d),(\d)/', '$1#***#$2', $str);

print $str;
我找到了所有逗号,周围都是数字,并用分隔符替换它们,通过使用反向引用保持数字完整

1#***#2
3#***#4