2016-05-17 18 views
2

マイデータ後のシンボル抽出:私は必要なもの正規表現のJavaScript:桁

abc3# de2! fghi1? 

は、右の数字の後に来るシンボル抽出します(1、2または3)試合がされるように、正規表現であります:私は非キャプチャグループとに見てきた?

#!、などが、それは正常に動作することができませんでした:(?:1|2|3)[\S]+

+0

はあなたがどんな**桁**後、または単に "1" の後に文字をしたいです、 "2"、 "3"? – talemyn

答えて

1

見ると、あなたが使用する必要があるだろうRegExp#exec

var re = /\d([^\w\s]+)/g;     // Declare the regex 
 
var str = 'abc3# de2! fghi1?'; 
 
var res = []; 
 
while ((m = re.exec(str)) !== null) { // find a match 
 
    res.push(m[1]);     // Get the captured value only 
 
} 
 
document.body.innerHTML = "<pre>" + JSON.stringify(res, 0, 4) + "</pre>";

正規表現のマッチ

  • \d - 数字
  • ([^\w\s]+) - 1+非空白記号と一致するキャプチャグループ。

「単語」または文字列の末尾にのみ一致するようにしたい場合は、/\d([^\w\s]+)(?=\s|$)/g正規表現を使用できます。

+0

。 。これは私が使うものです。私が変えるかもしれないのは、キャプチャルールのいくつかの説明によるが、正規表現パターンだけである。 – talemyn

0

あなたはNUM後にシンボルをキャプチャする\d(\W)が必要BER、私は

\d([^\w\s]+) 

を使用すると思い、正規表現は、多かれ少なかれ正確であるlive demo