2017-07-17 23 views
0

Geanyでは、私は書籍のタイトルと一致したい。一つの例:貪欲でない一致

,\s.*?, 

:私は、この正規表現のコードでそうしよう

  • マイケル・ルイス、嘘つきのポーカー、ホダー&ストートン株式会社、ロンドン、1989

この正規表現はあまりにも多く一致します。それは、[、Liar's Poker、]、[、London]と一致します。 タイトルにマッチする正規表現が必要です。

+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,"] 

を取得します。それを試して、あなたのためにこれが動作するかどうかを確認してください。