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