这是我必须匹配的示例字符串:
var sampleStr = "aaa[bbb=55,zzz=ddd],#ddd[ppp=33,kk=77,rr=fff],tt,ff";
我需要写正则表达式来匹配所有,
不在里面的字符[
]
所以在我的示例字符串中,我应该收到以下,
字符:
- `,` before `#ddd`
- `,` before `tt`
- `,` before `ff`
它应该忽略next ,
:
- `,` before `zzz`
- `,` before `kk`
- `,` before `rr`
实际上我不知道如何忽略那些,
内部的东西[...]
。取得重大进展
如果您可以假设其中的零件[]
不包含nested []
,并且[]
平衡了:
var out = content.split(/,(?![^\[\]]*\])/);
(?![^\[\]]*\])
是一个否定的前瞻性检查,用于检查我们是否不在[]
启发式范围之内。只要我们没有遇到任何]
因为我们消耗比其他字符[
和]
,然后我们在外面[]
。
上面的代码将沿,
括号外的逗号分隔文本,[]
并返回标记。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句