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
.*?(\bDE2K\w{6}\b)(?:(?!\bDE2K\w{6}\b).)*
$1\n
OR $1\r\n
説明:
.*? # 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
スクリーンキャプチャ: