【发布时间】:2016-06-19 14:05:56
【问题描述】:
如何拆分此字符串 "q.attributes['case.ticketnumber'].value.keyValue",以便获得包含这些元素的数组?
["q", "attributes['case.ticketnumber']", "value", "keyValue"]
【问题讨论】:
标签: javascript regex split
如何拆分此字符串 "q.attributes['case.ticketnumber'].value.keyValue",以便获得包含这些元素的数组?
["q", "attributes['case.ticketnumber']", "value", "keyValue"]
【问题讨论】:
标签: javascript regex split
您可以使用String#match 方法,使用以下正则表达式/[^.]+\[[^\]]+\][^.]*|[^.]+/g
console.log("q.attributes['case.ticketnumber'].value.keyValue".match(/[^.]+\[[^\]]+\][^.]*|[^.]+/g));
或者使用更好的正则表达式\w+(?:\['[^']*'\])?(@IsmaelMiguel 建议)
console.log("q.attributes['case.ticketnumber'].value.keyValue".match(/\w+(?:\['[^']*'\])?/g));
或者使用正则表达式/\w+(\[[^\]]+\])?/g
console.log("q.attributes['case.ticketnumber'].value.keyValue".match(/\w+(\[[^\]]+\])?/g));
【讨论】:
/AB|A/ 可以简化为/AB?/。