我的目标是分割字符串,例如,a|b||c|d
在a
,b||c
和d
。
我尝试使用几种方法,但最终以任何方式分割字符串:
向后看:
var_dump(preg_split("/\\|(?<!\\|\\|)/", 'a|b||c|d'));
array (size=4)
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string '|c' (length=2)
3 => string 'd' (length=1)
展望:
var_dump(preg_split("/(?!\\|\\|)\\|/", 'a|b||c|d'));
array (size=4)
0 => string 'a' (length=1)
1 => string 'b|' (length=2)
2 => string 'c' (length=1)
3 => string 'd' (length=1)
我怎样才能忽略双管?
只需根据下面的正则表达式(使用负性环视)将输入拆分即可。
(?<!\|)\|(?!\|)
|
是正则表达式中的特殊元字符,其作用类似于逻辑或或交替运算符。要匹配文字|
符号,您需要|
在正则表达式中转义\|
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句