2017-07-17 119 views
0

在Geany中,我想匹配書籍的標題。舉個例子:非貪婪匹配

  • 邁克爾·劉易斯,說謊者的撲克牌,霍德&斯托頓有限公司,倫敦,1989年

我嘗試用這個正則表達式的代碼,這樣做:

,\s.*?, 

這個正則表達式匹配得太多了。它符合:[,Liar撲克,]和[,倫敦]。 我想要一個只匹配標題的正則表達式。

+1

標題是如何表示的?也許在字符串中的位置(在特定數量的逗號後面)? –

+0

你想做什麼?用一些文字替換Liar's Poker? –

+0

如果你需要以某種方式匹配它,那將是相當麻煩,沒有更多的細節。嘗試類似['(?<=,\ s)[^,\ r \ n] +(?=(?:,[^,\ r \ n] *){3} $)'](https:/ /regex101.com/r/o62Ldm/2/)。 –

回答

0

我想你需要這個正則表達式沒有全局修飾符。如果你設置全局修飾符,即g,那麼它會返回像你所經歷的進一步的匹配。

,\s*([^,]+) 

Demo

如您想進一步忽略匹配這樣你可以試試這個太:

^.*?,\s*([^,]+).*$ 

你會得到說謊者的撲克在第1組

Demo 2

0
/(, \w+[']?\w? \w+,)/g 

這個表達式將讓你這個

[", Liar's Poker,"] 

你必須做額外的處理,以消除那些開頭和結尾的逗號。試試看看它是否適合你。