我是正则表达式的业余爱好者,但我需要在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
我可以使用更紧凑的正则表达式吗?
答案 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