PHP preg_replace 最后 N 个字符(如果不是字母数字)
PHP preg_replace last N characters if non alphanumeric
如果这些字符不是字母数字字符串,我想从字符串中删除最后 N 个字符。
例如:
TEST.
-> TEST
TEST2.-
-> TEST2
TEST_3.,/
-> TEST_3
我能够使用以下正则表达式实现这一点,但它仅适用于最后一个字符(适用于上面的示例 1)。如何检查是否只有最后一个字符符合大小写...
/[^a-zA-Z\d\s:]$/
需要在字符 class 旁边添加 +
,以便匹配一个或多个(非字母数字或 : 或 space) 字符存在于最后。
preg_replace('~[^a-zA-Z\d\s:]+$~', '', $str);
您可以使用:
/[^a-zA-Z\d]{1,3}$/g
{1,3}$ - 是字符串末尾多少个字符的范围不能是非字母数字
如果这些字符不是字母数字字符串,我想从字符串中删除最后 N 个字符。
例如:
TEST.
->TEST
TEST2.-
->TEST2
TEST_3.,/
->TEST_3
我能够使用以下正则表达式实现这一点,但它仅适用于最后一个字符(适用于上面的示例 1)。如何检查是否只有最后一个字符符合大小写...
/[^a-zA-Z\d\s:]$/
需要在字符 class 旁边添加 +
,以便匹配一个或多个(非字母数字或 : 或 space) 字符存在于最后。
preg_replace('~[^a-zA-Z\d\s:]+$~', '', $str);
您可以使用:
/[^a-zA-Z\d]{1,3}$/g
{1,3}$ - 是字符串末尾多少个字符的范围不能是非字母数字