2016-06-10 45 views
2

我正在嘗試編寫一個正則表達式,它可以找到數字匹配的第n次出現(其中N是可以在for循環中遞增的數字)。我可以得到正則表達式來成功地匹配一個數字,但是我不能讓它匹配序列中的特定數字。我使用的正則表達式是([0-9]+){2}使用正則表達式查找第n次出現的次數

我所試圖做的是挑選出數出像字符串:紅,12綠,5,藍,6

使用正則表達式,可以挑選出12的話,2,然後3.我希望正則表達式的{n}部分可以實現這一點,但是當我將該數字設置爲2時,例如,不是按預期方式選取數字5,而是選取12中的2,當我設置數字到3,根本無法找到匹配。任何人都可以提供任何見解我做錯了什麼?

回答

2

你可以使用這個表達式來接N日數:

(?:\D*(\d+)){2} 

通過任何你想要的號碼更換2。您的號碼是捕獲組#1提供

  • \D匹配任何非數字
  • \d相匹配的數字

RegEx Demo

+1

這個社區是驚人的!謝謝,這工作完美 – user3153443

相關問題