我正在使用第一次正则表达式,我想在三个变量中分割一个字符串
Target: '[|'.$1.'||'.$2.'||'.$3.'|]'; //each single var.
我有什么:
preg_match_all("[|(.*)||(.*)||(.*)|]", $loadedList, $result);
我真的变得疯狂了,所以你的帮助不仅仅是惠康;-) 西蒙
答案 0 :(得分:3)
这个怎么样?它适用于可变数量的项目。
答案 1 :(得分:2)
您需要转义特殊字符:
preg_match_all("/\[\|(.*)\|\|(.*)\|\|(.*)\|\]/", $loadedList, $result);
答案 2 :(得分:0)
|
是正则表达式中的元字符(意思是“或”),因此如果要按字面意思匹配则需要进行转义。此外,[...]
是字符类的正则表达式语法,意思是“[...]
之间的任何一个字符。”最后,你需要围绕正则表达式的分隔符。
你可以尝试
preg_match_all("/[^\[\]\|]+/")
匹配所有非|
/ [
/ ]
字符串,i。即除|
,[
或]
以外的所有内容。