将preg_split字符串转换为标记

时间:2011-10-31 22:56:36

标签: php regex preg-split

我正在尝试编写一个正则表达式,我可以将字符串拆分为标记。过去常常这样做:

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

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

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

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

3 个答案:

答案 0 :(得分:2)

PCRE正则表达式需要delimiters

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

您可以使用T-Regx tool,并且不需要定界符:)

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