1

我需要用多个可能的分隔符分割字符串

$output = preg_split( "/(\^|+)/", "54654561^uo_sgzg@zrgher.com" );

->(“54654561”,“uo_sgzg@zrgher.com”)

$output = preg_split( "/(\^|+)/", "54654561+ghkkgzg@zrgher.com" );

-> ("54654561", "ghkkgzg@zrgher.com")

但是这个正则表达式"/(\^|+)/"失败了:PHP Warning: preg_split(): Compilation failed: nothing to repeat at offset 3出于某种原因,但是它基于这个答案Php multiple delimiters in explode

这个正在工作$output = preg_split("/[\^|+]/", "54654561^MYMED_sgzg@zrgher.com" );是用多个分隔符分割的正确方法吗?

编辑:对不起,我刚刚意识到它是这样工作的$output = preg_split("/(\^|\+)/", "54654561^MYMED_sgzg@zrgher.com" );

4

1 回答 1

0

如果您要匹配的是单个字符,我实际上会选择该[\^\+]选项。

演示:http: //ideone.com/ftXSS

[]语法称为字符类或字符集,它专门用于执行您需要的操作。

“字符类”只匹配几个字符中的一个。要匹配 ana或 an e,请使用[ae]. 您可以使用它gr[ae]y来匹配graygrey

http://www.regular-expressions.info/quickstart.html

于 2012-08-09T11:32:19.587 回答