web-dev-qa-db-ja.com

Notepad ++テキストから文字列を含む単語のみを取得する

Notepad ++の結果に特定の文字列を含む単語のみを取得したいと思います。単語を見つけるための例はたくさんありますが、結果ページでそれらの単語だけを取得する方法を示すことはあまりありません。

たとえば、DE2KXXXXXX->この単語は異なります(Xはテキストドキュメント内の異なる文字列です)

だから私はこれらの単語だけを取得したいのです。どこでもチェックしましたが、単語または文字列を含むget行のみが表示されます。

しかし、私の要求は、DX2Kで始まる文字列とWordの6文字列を含む単語のみを取得することです。

それらすべてをExcelにコピーしたいだけです。しかし、notepad ++は結果として全体の行を取得しています。

以下のXは、A-Zまたは0-9の任意の文字列です。したがって、Dで始まり、3番目の文字は2、4番目はK、次に文字列です。

テキストの例:

右クリック> W> T DE2K12XXXXショートカットにより、DE2K1XX3XXを最初にメモ帳を開く必要がなくなります。ファイルDE2K1XXXXXの名前付けの準備ができたテキストDE2K1XX5XXドキュメントが作成され、DX2K1X5XXXを押すだけでテキストDE2K1XXX4Xドキュメントを編集用に開きます(CTRL + Sを押して変更を保存すると、DE2K1XX3XXが非常に合理化されますテキスト文書作成ワークフロー)。

Notepad ++の結果は次のようになります。

DE2K12XXXX
DE2K1XX3XX
DE2K1XX5XX
DE2K1XXXXX
DX2K1X5XXX
DE2K1XXX4X
DE2K1X2XXX
DE2K1XX3XX
2
user1070082

このようにしてください:

ステップ1:すべてを使用して置き換えます

検索文字列:_(DE2K\w*)_
文字列を置き換えます:_\n\1\n_

これにより、テストデータに対して次の結果が得られます。

enter image description here

ステップ2:同じ文字列DE2K(\w*)のすべてに、オプション「ブックマーク行」を付けてマークを付けます。

enter image description here

ステップ3:メニューを使用検索>ブックマーク>マークされていない行を削除、次のようになります。

enter image description here

1
harrymc
  • Ctrl+H
  • 何を見つける:.*?(\bDE2K\w{6}\b)(?:(?!\bDE2K\w{6}\b).)*
  • と置換する: $1\n OR $1\r\n
  • チェックラップアラウンド
  • 正規表現を確認してください
  • Replace all

説明:

.*?         # 0 or more any character but newline
(           # start group 1
  \b        # Word boundary
  DE2K      # literally
  \w{6}     # 6 Word character
  \b        # Word boundary
)           # end group 1
(?:         # non capture group (Tempered greedy token)
  (?!       # negative lookahead, make sure we haven't after:
    \b      # Word boundary
    DE2K    # literally
    \w{6}   # 6 Word character
    \b      # Word boundary
  )         # end lokkahead
  .         # any character but newline
)*          # end group, may appear 0 or more times

交換:

$1          # content of group 1 (i.e. DE2KXXXXXX)
\n          # line break (you may use \r\n if wanted)

与えられた例の結果:

DE2K12XXXX
DE2K1XX3XX
DE2K1XX5XX
DE2K1XXXXX
DE2K1XXX4X
DE2K1X2XXX
DE2K1XX3XX

スクリーンキャプチャ:

enter image description here

0
Toto