次の文で「abc」と「def」のすべてのインスタンスを検索するように、notepad++ を正規表現にしようとしています。
abcはdefに行きました。
次の構文はどれも機能していないようです。
- abc|def
- [abc|定義]
- (abc)|(def)
- (abc|定義)
注: "[a|d]" は、テストしたときに "a" または "d" の任意のインスタンスに一致します
「1 文字より長い」ことは特別なことではありません。Notepad++ は | をサポートしていません。正規表現の文字。「a | d」でさえ機能しません。正規表現のヘルプ ページを参照してください。バージョン 6.1.1 の Notepad++ が をサポートするようになり|ました。
Notepad++ v6 にアップグレードします。変更ログから:「PCRE (Perl 互換正規表現) がサポートされています。」私はそれを確認しました | Notepad++ v6 を使用している場合、正規表現検索で機能します。
私は同じ問題を抱えていました。それが私がここに着陸した方法です。これは notepad++ の欠陥であるため、Powershell を使用して対処できます。あなたの場合、単純に Select-String を実行します。
`ss abc,def filename`
Unix の場合は、もちろん grep などの他のツールがあります。
あなたがnotepad ++のソリューションを望んでいることは承知しており、私もそうですが、時にはやらなければならないことがあります。
文字セット宣言 ( […]) 内では、文字\、]およびのみ-が、それぞれ次の文字をエスケープする、文字セット宣言を閉じる、および文字範囲をマークする (先頭または末尾に記述されていない場合のみ) という特別な機能を持つ特殊文字です。その他の文字は、プレーンな文字として解釈されます。
これは、文字のいずれかを説明する意味でもあります|, or and not just or like do.[a|d][a|d]a|dada|d
これ|で動作するはずです。
Notepad++ の正規表現の改善のおかげで
abc|def
(abc)|(def)