2017-10-05 127 views
0

下午好 - 我一直在搜索整個早上找到一種方式來一起表達這個表達,並且沒有太多的運氣,所以我來到社區......正則表達式匹配一個字符的第n個(第5個)和第n個(第6個)迭代之間的字符串

我有一個日誌文件,其中包含成千上萬的行,我需要提取「,」分隔符的第5次和第6次迭代之間的字符串。這裏是字符串:2850

線:67563專線:BunchOfText,BunchOfText:BunchOfText,46.2,11637,42.2,2512,1516

我需要得到值 「2512」 出此字符串。 這是我使用的是什麼,但現在記事本++想捕捉一切到5次「」但正則表達式的好友說,這個工程:

^(?:[^,]*\,){5}([^,]*)

有人能幫助我嗎?

謝謝!

+1

贊[this](https://regex101.com/r/CLq9tS/1)? – Gurman

+0

聽起來像Regex Buddy在多行模式下運行('^'和'$'匹配每行的開始和結束,而Notepad ++不是('^'和'$'將匹配完整字符串的開始和結尾)。我沒有使用Notepad ++,但是我的猜測是它有一個啓用多行的選項,也可以通過在模式開頭放置'(?m)'來啓用這個模式。 – CAustin

回答

0

我認爲你的問題可以通過在這裏提出的另一個問題來回答。下面是從解決Returning only part of match from Regular Expression


一個鏈接,摘錄 被盜,你也可以嘗試「環視」的概念。這是一種零寬度斷言,意味着它將匹配字符,但不會在結果中捕獲它們。 就你而言,我們可以採取積極的lookbehind:我們希望目標字符串「firstname.surname」後面的內容等於「用戶名:」。 正回顧後操作:(?< = StringBehind)StringWeWant


,所以我認爲您的解決方案,你可以使用(< = ,?。。。。) [^,]

我沒有得到嘗試最終的答案,我建議,但我希望你有這個想法:d

我覺得你找什麼? < =寧可?:

相關問題