如何为我的字符串写正则表达式?

时间:2013-03-25 03:53:11

标签: regex

我有以下字符串:

//- item:type /path/to/file/file.js flag

如何编写正则表达式以获取项目,file.js和flag的完整路径(可选)?

编辑:在javaScript中

1 个答案:

答案 0 :(得分:1)

^//- ([^:]*):[^ ]* (.*\.[^ ]*) ?(.*)
JavaScript中的

"//- item:type /path/to/file/file.js flag".replace(/^\/\/- ([^:]*):[^ ]* (.*\.[^ ]*) ?(.*)/, "$1||$2||$3").split("||")

var pattern = /^\/\/- ([^:]*):[^ ]* (.*\.[^ ]*) ?(.*)/
var str = "//- item:type /path/to/file/file.js flag"
var match = pattern.exec(str);
if (match) {
    var item = match[1];
    var path = match[2];
    var flag = match[3];
}

请注意match对象中的索引是组号(0表示整个匹配,1表示更高,表示顺序为每个括号内的匹配)