2017-05-30 5 views
1

私はABCそれができる何かを(ABC、BCD、AAAまたはそれは空にすることができます)キャプチャしたいRegexを使用して文字列を除外する方法は?

May 18 22:15:04 172.24.11.74 "abc","5","0",........

私は、データの下に持っているので、私は22時15分04秒5月18日を無視したいです172.24.11.74。また、即時一致の後、それは停止する必要があります。単純な言葉で私は最初の ""の間にすべてを一致させたいと思います。私がそれを達成する方法を理解するのを助けてください。私は

(?<=")([\w\s]+)(?=")

次しようとした最初の二重引用符は、いくつかの値を持っている場合にのみ、それは正常に動作します。しかし、それが空白になると、それはさらに移動し、二重引用符で次の値を取得します。たとえば、メッセージ以下のことが5

May 18 22:15:04 172.24.11.74 "","5","0"

をキャプチャし、私は私の要件に明確にしています願っています。

答えて

1

あなたはほとんどそこにいると思います。

(?<=")([\w\s]+)?(?=")

はまた、あなたが中央部を一致させることができます*代わり回:あなたはそれの後ろに?を追加することにより、中央オプションでグループを作る場合は、二重引用符の間に何もない場合でも

は、それが一致しました一部が空の場合、1回以上を意味+回、これでは一致していません:

(?<=")([\w\s]*)(?=")

+0

恐ろしい感謝メイト... – user3332404

関連する問題