我试图写一个正则表达式,我可以将字符串分割成令牌。
$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);