如果这些字符是非字母数字字符串,我想从字符串中删除最后N个字符。
例如:
TEST.
- > TEST
TEST2.-
- > TEST2
TEST_3.,/
- > TEST_3
我能够通过以下正则表达式来实现它,但它仅适用于最后一个字符(适用于上面的示例1)。如何检查是否只有最后一个字符符合案例...
/[^a-zA-Z\d\s:]$/
答案 0 :(得分:2)
Juat在字符类旁边添加+
,以便它与最后一个或多个(非字母数字或:或空格)字符匹配。
preg_replace('~[^a-zA-Z\d\s:]+$~', '', $str);
答案 1 :(得分:0)
您可以使用:
/[^a-zA-Z\d]{1,3}$/g
{1,3} $ - 是字符串末尾的字符数不能为非字母数字的范围