更高效的正则表达式

时间:2014-07-15 17:21:34

标签: javascript regex

我是正则表达式的业余爱好者,但我需要在javascript中提取一段字符串。

我当前(工作)的代码是:

var txt='Icon/something/0.gif';

var re1='.*?';
var re2='(?:[a-z][a-z]+)';
var re3='.*?';
var re4='((?:[a-z][a-z]+))';

var p = new RegExp(re1+re2+re3+re4,["i"]);
var m = p.exec(txt);
var word = m[1]; //something

然而,我无法想象我们是最有效的方式。

我需要做的是从字符串中提取“某事”:

Icon/something/0.gif

或“somethingelse”来自:

Icon/somethingelse/10.gif

我可以使用更紧凑的正则表达式吗?

3 个答案:

答案 0 :(得分:7)

尝试使用正斜杠(/)来分割第二个元素:

txt.split("/")[1]

答案 1 :(得分:0)

/\/([^\/]*)\//

将找到由/ characters包围的非/ - 字符的第一个子字符串。

答案 2 :(得分:-1)

使用子字符串:

var get = string.substring(string.indexOf(" Icon /")+ 5,string.indexOf(" /",string.indexOf("图标/&#34)+ 5))

其中string为Icon / anythingHere / 10.gif