2016-07-12 7 views
-2

以下は、私のtesetstrから番号6を得るための正規表現のコードです。正規表現を使用してteststrから文字列 'months'を抽出するにはどうすればよいですか?現在正規表現のテキスト/数値の抽出

var teststr = '6 months'; 
var num = /(\d+)\s*month/; 
var days = teststr.match(num)[1];   
console.log(days); 
+0

列データ型と1つのサンプル値を提供 –

+0

問題をより明確に説明しない限り、私たちはあなたを助けません。 – gcampbell

+0

'var num = /(\ d +)\ s *月/;' - > '.match(num)[1]' –

答えて

1

、グループ1(あなたがすべてでグループを使用していない注意してください、そう、それは冗長である)にそれらを取り込む(\d+)マッチ1桁以上。

スペース+「月」の前に数字を一致させたいと思うようです。次の正規表現を使用します

var num = /\d+(?=\s*month)/; 

をして、ちょうどあなたの.match(num)[0]を使用します。

var num = /(\d+)\s*month/; 

をして、また

var days = ($('#infra_time_threshold').text()).match(num)[1] * 30; 
                 ^^^ 

で撮影した値にアクセスするには、右\d+後に先読みを使用することができますグループ0の値は完全一致となるからです。

NOTE:あなたはmatchオブジェクトの0番目または第一インデックスにアクセスする前ヌルチェックを追加したい場合があります。

関連する問題