REGEX preg_split()

时间:2012-11-04 15:11:56

标签: regex

我有一个充满字符串的数组,可能包含一个或多个下划线,短划线和句点。我想将下划分为由下划线,短划线和句点分隔的字符。到目前为止,我已经成功地使用了下划线和破折号而不是时期。

这有效:

$family02 = preg_split('/_|-/', $row['family'], -1, PREG_SPLIT_NO_EMPTY);

当我尝试...

'/_|-./'
'/_|-\./'
'/_|-|./'

...或者以不同的方式排序分隔符,我得到3个中的1个或2个中的1个或空数组。

感谢您提供任何帮助或良好的REGEX链接。

2 个答案:

答案 0 :(得分:2)

只需使用

preg_split('/[-_.]/', $str)

表示您按-_.

之一进行拆分

如果要删除字符串中的空组,请使用

preg_split('/[-_.]+/', $str)

所以多个决定者应用为一个。

答案 1 :(得分:1)

您应该使用:

// [_.-] stands for a character of underscore or dash or period.
$family02 = preg_split('/[_.-]/', $row['family'], -1, PREG_SPLIT_NO_EMPTY);