2017-03-03 9 views
1

例として、私はBanjo.aldという文字列を持っています:Mandolin.ald:Guitar.tstそしてギターの文字列を返す正規表現を見つけようとしています。上記の例では、関心のあるテキスト(すなわち、Banjo.ald:Mandolin.ald :)の前に2つのグループがありますが、実際にはグループがBanjo.aldとして定義されているグループは1対Nになります:最後の出現の間のテキストの正規表現と.tst

私が探しているものをより明確にする必要がある場合はお知らせください。

+0

。 –

+0

@CasimiretHippolyte私は彼がちょうど 'Guitar'.tstを望んでいると思う。正しく読むと。 –

+0

上記の例ではGuitarを返そうとしていますので、最後のコロン(最後のコロン自体を含む)の前にすべてをドロップし、.tst(.tstを除く)の前にすべてを残したいと思います。文字列は常にGuitar.tstで終わりますが、他の何個かのsomething.ald:セクションがそれに先行することはわかりません。より明確にする必要がある場合はお知らせください。 – Janus

答えて

1

最後のコロンまですべてを消費する貪欲な正規表現を使用することができます。その後.tstまで、すべてを次の単語をキャプチャ:私はあなたが探しているものでより多くの明快さを必要とする

^.*:(.*).tst$ 

Regex101

+0

私はこのテストをregexrでテストしようとしましたが、文字列全体を返す可能性があります。私はregexrに慣れていないので、間違ったことをしています – Janus

+0

デモで私はそれを働かせました。ほとんどの言語。私にあなたのデモへのリンクを与えることができれば、多分私は一見を持つことができます。 –

+0

Regex101へのリンクをありがとうございました。これは非常に役に立ちます。私が違う反応を出す理由は、私の例に欠陥があることに気付きました。私は文字列にスペースを入れています:Ban jo.ald:Man dolin.ald:Gui tar.tst – Janus

関連する問題