用于替换整数的正则表达式,后跟php中字符串中的下划线

时间:2014-01-23 01:52:05

标签: php regex str-replace

我是php中正则表达式的新手。

我正在尝试替换类似

的值
  

101_1
  102_2
  103_3

在我的字符串中添加“自定义值”

我尝试了很多组合,却找不到解决方法。以下是我认为应该根据互联网上提供的正则表达式帮助文档的工作

的代码
$result = str_replace('[1-6]*_1', "custom values", $string);

请记住,这些值介于字符串之间,也不是在字符串结尾处开始。

3 个答案:

答案 0 :(得分:1)

尝试这样的事情:

$result = preg_replace('/\d{3}_\d/', "custom values", $string);

它捕获前三个数字,然后是下划线,然后是另一个数字。

答案 1 :(得分:1)

你的表达式不起作用,因为它没有捕获[1-6]中的0。

假设您的一个或多个数字之间总是有下划线,请使用:

$result = preg_replace('/\d+_\d+/', "custom values", $string);

答案 2 :(得分:1)

使用preg_replace代替str_replace

preg_replace('/[0-6]{1,3}_[1-3]/', 'custom values', $string);