Preg_split字符串为令牌


preg_split string into tokens

我试图写一个正则表达式,我可以将字符串分割成令牌。

$rawtokens = split("[^-_A-Za-z0-9]+", $string);

但现在split()已被弃用(建议使用preg_split),这不起作用:

$rawtokens = preg_split("[^-_A-Za-z0-9]+", $string);

我得到的错误是+'是一个未知的修饰符。从split迁移到preg_split有什么变化?

您需要为PCRE正则表达式设置分隔符:

$rawtokens = preg_split("/[^-_A-Za-z0-9]+/", $string);
                         ^               ^

尝试转义-并添加分隔符:

$rawtokens = preg_split("/[^'-_A-Za-z0-9]+/", $string);

你可以使用T-Regx工具,你不需要分隔符:)

pattern('[^-_A-Za-z0-9]+')->split($string);