2017-12-31 79 views
-2

は次のとおりです。regexpを使用して事前定義入力の最初の出現をキャプチャする方法はありますか?私はregexp.myの正規表現を勉強

/^([0-5][0-9]|60):/g 

私のサンプルデータは、次のとおりです。60:40:60 Lua

すべては大丈夫です。今、私は最初に前に出現したものを抽出したい:。つまり60ドルですが、1ドルを使用しようとするとそれは6040を返します。何か案が?

+1

$ 1を使用してコードを共有できますか? [あなたの正規表現をテストする](https://regex101.com/r/TzYlgu/1)、最初のグループには60が含まれています。 –

+0

私はコードをテストしようとしています:https://regexr.com/ –

+0

あなたはそれをテストしています[このような](https://regexr.com/3iku4)? –

答えて

1

何それについて1:検証と

^(?:[0-5][0-9]|60)(?=:) 

Demo

それともあなたの方法で、あなたはそれを試すことがあります。

^(?:[0-5][0-9]|60)(?=:\d{2}:\d{2}.*) 

説明:

  1. 前のパターンの後に2桁のコロン2桁が続き、0個以上の長さの文字列の残りが続くことを確実にするための肯定的な先読み。

    const regex = /^([0-5][0-9]|60):([0-5][0-9]|60):([0-5][0-9]|60).*$/gm; 
     
    const str = `60:40:60 Lua`; 
     
    let m; 
     
    
     
    if ((m = regex.exec(str)) !== null) { 
     
    console.log(m[1]); 
     
    console.log(m[2]); 
     
    console.log(m[3]); 
     
    }
    :それはそれのように思えるのよう

Demo 2

提供するあなたの必要性に応じていない数字でグループ1つの開始は、あなたが望む3つのグループをキャプチャソリューションがあります

+0

なぜdownvoteですか? –

+0

私のdownvoteではありませんが、これはOPの試行で間違っているかもしれないものには本当に対応していません。 – tripleee

+0

コードはどの言語ですか?ルア? – tripleee

関連する問題