私は正規表現の使用方法を学んでいる:正規表現のベスト・プラクティス
私は <:==]:>
と<:==}:>
で区画二つの異なる種類のセクションに分割されたテキストファイル、で読んでいます。私はそれが]
または}
、私はちょうど行うことはできません
pattern.compile("<:==]:>|<:==}:>"); pattern.split(text)
がこれをやっているかどうかをセクションごとに知っておく必要があります。
pattern.compile("<:=="); pattern.split(text)
作品、そして私はちょうど最初の文字を見ることができますしかし、私は正規表現について理解する必要があるものを完全には把握していないので、私はそれに頼っていると思います。
ここでベストプラクティスは何ですか?また、結果の文字列に区切り文字を残したまま、文字列を分割する方法はありますか?区切り文字で区切られるようにしますか?
EDIT:ファイルはこのようにレイアウトされています
Old McDonald had a farm
<:==}:>
EIEIO. And on that farm he had a cow
<:==]:>
And on that farm he....
マイ初期解(キャプチャグループに区切り文字を囲む)は(Pythonのような他の言語が働いているだろう)は、Javaで動作するようには見えないので、私はこれを再考する必要があります。小さなサンプルファイルを提供できますか?私は、セクションがどのように区切られているかをよく理解していません。区切り文字のペアで囲まれているのか、区切り文字が区切り文字の後に始まり、次の区切り文字で終わるのでしょうか? –
@TimPietzckerうん、私は同じ実現を持っていた。ファイルのレイアウトの例については、私の編集を参照してください。それらは区切り文字のペアではなく、それぞれの終わりは次の始まりによって通知されます。また、私は<:?:>がいくつかの他のタイプのタグを意味することに注意してください。 – drewmoore
出力として正確に何をしたいですか? ']'または '}'と一緒にテキストのセクション?そうであれば、区切られていない最初/最後のセクションで何をしたいですか?あなたはテキストのセクションが必要ですか、区切り文字を持つだけで十分ですか? – OGHaza