Php 用相同的数字替换正则表达式中的数字
然而,我试图替换与模式相关联的数字。因此,输出类似于:Php 用相同的数字替换正则表达式中的数字,php,regex,Php,Regex,然而,我试图替换与模式相关联的数字。因此,输出类似于: [pattern[0-9]] This is my test [pattern[0-9]] String for [pattern[0-9]] Reg Ex [pattern[0-9]] 有什么提示吗?(?试试这个: [pattern1] This is my test [pattern1] String for [pattern3] Reg Ex [pattern2] (?<=pattern)(\d+)[^\]]* 希望对您有
[pattern[0-9]] This is my test [pattern[0-9]] String for [pattern[0-9]] Reg Ex [pattern[0-9]]
有什么提示吗?(?试试这个:
[pattern1] This is my test [pattern1] String for [pattern3] Reg Ex [pattern2]
(?<=pattern)(\d+)[^\]]*
希望对您有所帮助:)$r未使用,可以在您的examplenice解决方案中省略,但缺少右括号。。。输出:-[pattern1这是我的测试[pattern3 Reg Ex[pattern2
@JhilkeDai的pattern1字符串应该是这样的$str=preg\u replace($p,$1],$str);
(只需附加]
)这个答案几乎只加了那么一点点。重要的是使用$1
@kingKing是的,我这样做了…我正要更新答案或通知Halayem更正…谢谢,但我真的不明白我应该把这个放在哪里…你的链接显示它可以工作,我用这个替换了$p
,但是我t throw error我得到的错误(或警告)是:PHP警告:preg_replace():未知修饰符“(”在file.PHP行号中
(?<=pattern)(\d+)[^\]]*
function rg($str) {
$p = '/(\[pattern[0-9])\:[a-zA-Z]{3,10}\]/';
$r = '$1]'; # $1 contains what tou will catch inside the paranthesis
$str = preg_replace($p, $r, $str);
return $str;
}