-1

我有以下字符串:

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

如何编写正则表达式来获取项目、file.js 的完整路径和标志(可选)?

编辑:在javascript中

4

1 回答 1

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 和更高是按出现顺序的每个带括号的匹配)

于 2013-03-25T04:00:21.493 回答