2017-10-07 14 views
1

大きなテキストファイルがあります。[ABC DEF Gのようにスペースを入れた]特定のキーワードがあります。 これは、テキストファイル内で正確に2回発生するか、まったく発生しません。[メモ帳で指定された2つの単語の間でテキストを自動的に選択する]

これらの2つのキーワード間のすべてのテキスト(約300〜1000行)が自動的に選択されるように、メモ帳の++検索が必要です。 私はプラグインを介してこの選択されたテキストを操作します。私の最初の質問は次のとおりです。

この自動選定は可能ですか?

はいの場合は、お勧めしますか?

現在のところ、私は時間とメモリを消費する検索するテキストファイル全体を読んでいます。おかげさまで

+0

](https://ibb.co/dovFiw)? – Gurman

+0

はい、まさにこのように:) –

+0

素晴らしい。私は答えとしてそれを加えました。 – Gurman

答えて

0

この正規表現を試してみてください:

(?<=ABC DEF G)[\s\S]*(?=ABC DEF G)

Click for Demo

説明:

  • (?<=ABC DEF G)からPositive LookbehindテキストABC DEF G
  • が先行する位置を見つけるために、
  • [\s\S]* - 任意の文字
  • (?=ABC DEF G)の試合0+出現 - Positive lookaheadはすぐにテキストABC DEF G

出力に続く位置を見つけるために:あなたは、[このような意味

enter image description here

+0

あなたが私を助けることができるならば、ただ一つのこと。テキストは、ABC DEF G *****のようなものです。それから、ABC DEF G ******。*****の後に次の行のテキストを入れて、2番目にAに再び到達するまでします。さらに、テキストが存在しない場合、この式は何をしますか。最初の問題は、プラグインですでに行っている文字スキャンを行うことで回避できます。このテキストがないと何が起こるか教えてください。 –

+0

@NikhilSaxenaこの場合、 '(?<= ABC DEF G)[^ \ n] * \ n \ K [\ s \ S] *(?= ABC DEF G)'を試してください。 [こちら](https://regex101.com/r/8cOYW8/2)を参照してください。あなたは次の行から選択しています。 – Gurman

+0

正常に動作していますが、場合によっては動作していません。動作していないと、テキストファイルは約4本のラップラインで大きく、2.5ファイルまでの小さなファイルの場合は動作しています。ファイルサイズにするか、何か他の理由がありますか? –

関連する問題