我是php中正则表达式的新手。
我正在尝试替换类似
的值101_1
102_2
103_3
在我的字符串中添加“自定义值”
我尝试了很多组合,却找不到解决方法。以下是我认为应该根据互联网上提供的正则表达式帮助文档的工作
的代码$result = str_replace('[1-6]*_1', "custom values", $string);
请记住,这些值介于字符串之间,也不是在字符串结尾处开始。
答案 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);