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

时间:2013-06-24 15:25:21

标签: php sql preg-match dump

我有一个sql转储并想循环遍历行,然后更改,删除并插入每行中的特定字段。现在我需要替换所有出现和结束每个字段值的sql ','

我只需要帮助解决上一个问题。我需要用逗号分隔符#***#替换逗号之前和之后带有数字编号的所有逗号。

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

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

2 个答案:

答案 0 :(得分:0)

你应该使用preg_replace()而不是像这样的str_replace():

$sqlrows = preg_replace( '/(^\d,\d)*$/', "#***#", $sqlrows );

答案 1 :(得分:0)

  

“我需要替换所有前后都有数字的逗号   逗号分隔符# * #。“

尝试这种方法:

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

print $str;

打印:

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

我找到所有逗号,用数字包围,然后用分隔符替换它们,使用反向引用保持数字完整。