正则表达式分裂字符串

时间:2010-12-06 17:40:55

标签: php regex split

我正在使用第一次正则表达式,我想在三个变量中分割一个字符串

Target: '[|'.$1.'||'.$2.'||'.$3.'|]'; //each single var.

我有什么:

preg_match_all("[|(.*)||(.*)||(.*)|]", $loadedList, $result);

我真的变得疯狂了,所以你的帮助不仅仅是惠康;-) 西蒙

3 个答案:

答案 0 :(得分:3)

这个怎么样?它适用于可变数量的项目。

答案 1 :(得分:2)

您需要转义特殊字符:

preg_match_all("/\[\|(.*)\|\|(.*)\|\|(.*)\|\]/", $loadedList, $result);

答案 2 :(得分:0)

|是正则表达式中的元字符(意思是“或”),因此如果要按字面意思匹配则需要进行转义。此外,[...]是字符类的正则表达式语法,意思是“[...]之间的任何一个字符。”最后,你需要围绕正则表达式的分隔符。

你可以尝试

preg_match_all("/[^\[\]\|]+/")

匹配所有非| / [ / ]字符串,i。即除|[]以外的所有内容。