删除字符串中后跟7个数字的下划线


Remove underscore followed by 7 numbers in a string?

我知道这个正则表达式将匹配1个大写字符和后面的7个数字。

^[A-Z]'d{7}$

如何使用PHP删除字符串末尾的1个下划线和7个数字?

我尝试过$str = preg_replace('_'d{7}', '$1$2', $html);,它给了我错误No ending delimiter '_' found.。我将其更改为$str = preg_replace('_'d{7}_', '$1$2', $html);,它也不起作用。

很明显,它是^_'d{7}$

请注意,这将匹配一个字符串,该字符串由一个下划线后跟七位数字组成。如果您想在字符串中的任何位置都允许该模式,您可以只使用_'d{7}

RegexPal是一个快速试用正则表达式的好工具。

根据OP的注释进行编辑:要从PHP中的字符串末尾删除此模式,请使用:preg_replace('/(.+?)_'d{7}$/', '$1', $in);