正则与文本处理指南
正则切分字符串:捕获组与空字段
解释 split 为什么插入捕获组,说明过滤空字段何时会破坏记录含义。
比较捕获与非捕获分隔符
JavaScript split 会把分隔符的捕获组插入结果数组,非捕获组不会增加这些字段。
只想切分值时,可用非捕获形式或普通字符类。
'a,b;c'.split(/([,;])/) → ['a',',','b',';','c']
'a,b;c'.split(/[,;]/) → ['a','b','c']保留有含义的空位置
分隔符之间的空字段可能表示缺值,结尾分隔符也会产生最后一个空字符串。
按真假值过滤会使列错位,只能在格式明确忽略空字段时删除。
'a,,c,'.split(',') → ['a','','c','']理解 limit 的作用
split 的 limit 限制返回元素数,不会把剩余未切分内容放进最后一项。
key=value 若允许值内含等号,应查找第一个等号,再按位置切片。
'a=b=c'.split('=',2) → ['a','b']
The final c is not included.引用格式应使用解析器
这些规则适合简单分隔符,不构成 CSV、转义字段或嵌套语法的完整解析器。
引用记录应使用本站 CSV 工具,应用切分规则前测试开头、结尾与连续分隔符。