2017-08-10 90 views
0

如何使用正則表達式選擇第三組數字。 使用以下字符串。正則表達式選擇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 - 匹配復位操作丟棄到目前爲止
  • \d+匹配的文本 - 1個或多個數字。
+0

我是新來的正則表達式。我要研究你的解決方案來學習。 **謝謝。** –

+0

@RodrigoMartins:請注意,正則表達式在不同的語言中是不同的。確保你專注於正確的味道。 –

+0

@RodrigoMartins很高興爲你工作。請考慮接受答案(請參閱[如何接受SO答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work))。 –