2017-08-10 11 views
0

正規表現を使用して3番目の番号グループを選択する方法を教えてください。 次の文字列を使用します。正規表現選択3グループ

21|2|964|Texto 02 

964を選択します。

\d+正規表現ですべての数字チャンクを抽出することしかできませんでした。

ありがとうございました。

+0

これはあなたの文字列が常に見えるようにする方法ですか?意味dd | d | ddd |テキスト? – JBone

答えて

0

あなたは|に分割され、結果の配列から項目3を得ることができない場合は、

^(?:[^|]*\|){2}\K\d+ 

を使用することができregex demoを参照してください。

あるいは、

^(?:[^|]*\|){2}(\d+) 

を使用して、グループ1つの値をつかみます。 another regex demoを参照してください。

詳細

  • ^ - 文字列の先頭
  • (?:[^|]*\|){2} - の2配列:
    • [^|]* - 任意の0+ |
    • \|以外の文字 - リテラル|シンボル
  • \Kから1桁以上 - これまで
  • \d+マッチしたテキストを破棄マッチリセット演算子。
+0

私はregexを初めて使う人です。私はあなたのソリューションを勉強して学びます。 **ありがとう。** –

+0

@RodrigoMartins:正規表現は言語によって異なることに注意してください。あなたは正しい味に集中するようにしてください。 –

+0

@RodrigoMartinsそれはあなたのために働いてうれしい。回答を受け入れることを検討してください([回答を受け入れる方法](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)を参照)。 –