Alo*_*lon 2 javascript regex string split match
我试图拆分这个字符串:
bar .foo car.coo
Run Code Online (Sandbox Code Playgroud)
到这个数组:
['bar',' .foo','car','.coo']
Run Code Online (Sandbox Code Playgroud)
我一直在尝试这个短语的变化,但我似乎无法做到正确:
str.replace(/([.#:])/g, '$1').split(" ");
Run Code Online (Sandbox Code Playgroud)
拆分的规则是 - 如果有[.#:]分裂 - 但如果它们之前有空格(如.foo),则包括空格.
我怎么做?
由于"car.coo"必须将其拆分为两个数组元素而不消耗任何字符,.split因此可能不是您想要的.
你可以使用str.match,它将形成一个数组,其中包含由regexp解析的字符串:
"bar .foo car.coo".match(/( [.#:]|[.#:])?[^.#: ]+/g);
// ["bar", " .foo", "car", ".coo"]
Run Code Online (Sandbox Code Playgroud)