2010-04-22 16 views
1

我想提取两点之间的一些文本字符串之间提取文本的Javascript正则表达式两个字符集(JavaScript)的

说字符串是

"start-extractThis-234" 

在数字结尾可以是任何数字,但连字符总是存在的。

理想情况下,我认为在两种激素之间应该没问题。

我想正则表达式的结果是

extractThis 
+0

哇,我不知道有多少我的老问题,我会像这样被禁锢! – 2012-08-18 10:23:45

回答

2

为什么不只是做

var toExtract = "start-extractThis-234"; 
var extracted = null; 
var split = toExtract.split("-"); 
if(split.length === 3){ 
    extracted = split[1]; 
} 
+0

+1。只要字符串格式总是像这样,那么'split'是一个比正则表达式匹配更好的选择。 'if'语句可能有点矫枉过正,'extract = split [1];'或者if(extracted = split [1])'应该足以满足大多数情况。 – 2010-04-22 15:20:41

+0

是的,如果是有点矫枉过正,我想成为详细 – mkoryak 2010-04-22 15:24:20

+0

由于简单接受,我希望学习一些时髦的正则表达式,但我不能拒绝可读性。我不应该使这个复杂! – 2010-04-22 15:25:52

0
^.+?-(.+?)-\d+$ 
+0

我会驴,如果这个工程,如果这样投票,因为它是正确的答案!我希望能够选择分割点,所以这可能会有所帮助。 – 2010-04-22 16:00:01

+0

我比其他人更喜欢这个解决方案。但是,这一切都是一个正则表达式。但是你使用哪种javascript方法来提取两个字符? – JohnMerlino 2011-01-16 16:59:45

3
string = "start-extractThis-234" 

console.log(string.match('-(.*)-')[1]); 

//returns extractThis 
+0

这显然是最好的答案。 – TaylorMac 2013-08-06 17:52:36

相关问题