2017-01-04 15 views
2
間のすべての文字列を取得します

私は、次の文字列を持っている:私はすべての単語を取得しようとしている2つの文字

"The length must be between <xmin> and <xmax> characters" 

/文字列私は、次の取得<>間しかし、私のコードである:

xmin> and <xmax 

これは私のコードです:

var srctext = "The length must be between <xmin> and <xmax> characters"; 
 
    var re = srctext.match(/\<(.*)\>/).pop(); 
 
    console.log(re);

xminxmaxの両方を取得するにはどうすればよいですか?

答えて

3

non-greedy正規表現を使用して、最小値に一致させます。

var srctext = "The length must be between <xmin> and <xmax> characters"; 
 
var re = srctext.match(/<(.*?)>/g); 
 
console.log(re);

またはnegated character class

var srctext = "The length must be between <xmin> and <xmax> characters"; 
 
var re = srctext.match(/<([^>]*)>/g); 
 
console.log(re);


UPDATE使用:への正規表現にg(グローバル)フラグが含まれているときに取得された値を取得するwhileループでRegExp#execメソッドを使用します。

var srctext = "The length must be between <xmin> and <xmax> characters", 
 
    regex=/<([^>]*)>/g, 
 
    m,res=[]; 
 

 
while(m=regex.exec(srctext)) 
 
    res.push(m[1]) 
 
    
 
console.log(res);

+1

ああ待ちます。あなたが正しいです。 –