如何使用正则表达式检索类路径字符串的所有部分?

时间:2012-11-02 19:02:27

标签: javascript regex

例如,我有一个以下格式的路径:

f1/f2/f3/aaa

我希望有匹配的组来返回这样的内容:

["f1", "f2", "f3", "aaa"]

1 个答案:

答案 0 :(得分:7)

不要使用正则表达式:

var str = "f1/f2/f3/aaa",
    arr = str.split('/');
console.log(arr);

JS Fiddle demo

这最终会让你获得一个真正的数组,而使用正则表达式,最好,你最终得到一个类似数组的字符串。这似乎有点无意义。

如果必须使用正则表达式方法:

var str = "f1/f2/f3/aaa",
    arr = str.match(/(\w+)/g);
console.log(arr)​​​

JS Fiddle demo

看看那是多么不易理解。它也是多么脆弱(因为,通过这种方法,它需要分隔符是非字母数字(或_)字符)。实际上,在这个实例中,没有充分的理由使用正则表达式。