我正在尝试编写一个正则表达式,我可以用它将字符串拆分为标记。这曾经有效:
$rawtokens = split("[^-_A-Za-z0-9]+", $string);
但是现在 split() 已被弃用(建议使用 preg_split ),这不起作用:
$rawtokens = preg_split("[^-_A-Za-z0-9]+", $string);
我得到的错误是 +\ 是一个未知的修饰符。从 split 到 preg_split 的迁移发生了什么变化?
我正在尝试编写一个正则表达式,我可以用它将字符串拆分为标记。这曾经有效:
$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);