検索モードで[正規表現]を選択することで、正規表現による検索となります。

この正規表現はScintillaの正規表現エンジンを使用しているため、基本的な文法はScintillaのそれに従う必要があります。
なおこの正規表現エンジンは改行文字にマッチしないため、検索は行ごとに行う必要があります。Ver.6.0で、改行文字にもマッチする機能が追加されました。検索モードの[. matches newline]がそれです。
| メタ文字 | マッチする文字 |
|---|---|
| . | |
| \X | |
| \Г |
| メタ文字 | マッチする文字 |
|---|---|
| \xnn | コードnnで表現される文字。\x41が「A」にマッチするように基本的にASCIIコードで指定するが、文書のエンコードに依存する |
| \x{nnnn} | |
| \Onnn | |
| [[.collating sequence.]] |
文書のエンコードがANSI以外ならば、\x{nnnn}の構文でUnicode (UTF-16) を用いてマッチさせられます。たとえば\x{3042}は、「あ」にマッチします。また2バイトに収まらない文字はサロゲートペアで指定します。たとえば「😀」はU+1F600ですが、これはサロゲートペアによる表現\x{D83D}\x{DE00}にマッチします。
\a … BEL\b … BS\e … ESC\f … FF\n … LR\r … CR\R … 任意の改行文字\t … TAB\Ccharacter …| メタ文字 | マッチする文字 |
|---|---|
| [...] | 指定の文字セット。たとえば[abc]は、a、bまたはc |
| [^...] | |
| [[:name:]] | nameの指定に依存 |
| \pshort name | [[:name:]]と同じ。たとえば\pdは[[:d:]]に、\p{digit}は[[:digit:]]と同じ |
| \p{name} | |
| \Pshort name | [^[:name:]]と同じ。 |
| \P{name} | |
| \d | 10進数値。[[:digit:]]と同じ |
| \D | 10進数値以外の文字。[^[:digit]]と同じ |
| \l | |
| \L | |
| \u | [[:uper:]]と同じ |
| \U | |
| \w | 英数字。[[:word:]]と同じ |
| \W | 英数字以外の文字 |
| \s | ホワイトスペース (\t、\n、\r、\f、\v)。[[:space:]]と同じ |
| \S | ホワイトスペース以外の文字 |
| \h | |
| \H | |
| \v | |
| \V | |
| [[=primary key=]] |
Notepad++ではUnicodeプロパティのスクリプトがサポートされないため、ひらがなやカタカナに\p{Hiragana}や\p{Katakana}でマッチさせられません。よって\x{nnnn}の構文を利用して、Unicodeブロックで指定します。
| 文字種 | メタ文字 |
|---|---|
| ひらがな | [\x{3041}-\x{3096}] |
| カタカナ | [\x{3041}-\x{3096}] |
| 漢字 | [々〇〻\x{3400}-\x{9FFF}\x{F900}-\x{FAFF}]|[\x{D840}-\x{D87F}][\x{DC00}-\x{DFFF}] |
命名されている文字クラス全体にマッチします。
| メタ文字 | マッチする文字 |
|---|---|
| [[:alnum:]] | ASCII letters and digits |
| [[:alpha:]] | ASCII letters |
| [[:blank:]] | spacing which is not a line terminator |
| [[:cntrl:]] | control characters |
| [[:digit:]] | 10進数値 (decimal digits) |
| [[:d:]] | |
| [[:graph:]] | graphical character |
| [[:lower:]] | lowercase letters |
| [[:l:]] | |
| [[:print:]] | printable characters |
| [[:punct:]] | punctuation characters: , " ' ? ! ; : # $ % & ( ) * + - / < > = @ [ ] \ ^ _ { } | ~ |
| [[:space:]] | whitespace |
| [[:s:]] | |
| [[:upper:]] | uppercase letters |
| [[:u:]] | |
| [[:unicode:]] | any character with code point above 255 |
| [[:word:]] | word character |
| [[:w:]] | |
| [[:xdigit:]] | hexadecimal digits |
| メタ文字 | マッチする文字 |
|---|---|
| + | 直前に指定されている1つ以上の文字 |
| * | |
| ? | |
| *? | |
| +? | |
| {n} | n文字 |
| {n,} | n文字以上の文字 |
| {m,n} | |
| {n,}?, {m,n}? | |
| *+, ?+, ++, {n,}+, {m,n}+ |
アンカーは、行の位置にマッチします。
| メタ文字 | マッチする文字 |
|---|---|
| ^ | 行頭 (文字セット内で使用される場合を除く) |
| $ | 行末 |
| \< | (Scintillaで定義されている) 単語の先頭 |
| \> | (Scintillaで定義されている) 単語の末尾 |
| \b | 単語の先頭または末尾 |
| \B | 単語の境界以外 (\bではない位置) |
| \A, \' | マッチした文字列の先頭 |
| \z, \` | マッチした文字列の末尾 |
| \Z |
アンカーで検索し、位置にだけマッチしたときには「zero length match」とツールチップで表示されます。
[. matches newline]を有効にし、キャレットをファイルの先頭に置いた状態で^.*$で検索すると、ファイル全体にマッチさせられます。このことから、
^.*$ABC$&として置換するとファイルの先頭にABCの文字列を追加でき、$&ABCとすれば末尾に追加できます。
そのとき改行を含んだ文字列を追加するならば、置換文字列とする文字列の\r\nを、\\r\\nに置換した上で指定します。
| メタ文字 | マッチする文字 |
|---|---|
| (...) | |
| (?<some name>...), (?'some name'...), (?(some name)...) | |
| \gn , \g{n} | |
| \g{something}, \k<something> | |
| \digit |
正規表現を読みやすくするために用います。
| メタ文字 | 機能 |
|---|---|
| (:...) | グループ化するだけ |
| (?#...) | コメント |
| メタ文字 | 機能 |
|---|---|
| \Q | |
| \E | |
| (?:flags-not-flags ...), (?:flags-not-flags:...) | フラグを適用する
|
| (?|expression using the alternation | operator) |
| メタ文字 | マッチする文字 |
|---|---|
| | | |
| (?n), (?signed-n) | |
| (?0), (?R) | |
| (?&name) | |
| (?assertionyes-pattern|no-pattern) |
| メタ文字 | マッチする文字 |
|---|---|
| \K | |
| (?=pattern) | patternが右側にある (肯定の先読み) |
| (?!pattern) | patternが右側にない (否定の先読み) |
| (?<=pattern) | patternが左側にある (肯定の後読み) |
| (?<pattern) | patternが左側にない (否定の後読み) |
| (?>pattern) | patternが |
| メタ文字 | 意味 |
|---|---|
| \a, \e, \f, \n, \r, \t, \v | それぞれ次の制御文字。BEL、ESC、FF、LF、CR、TAB、VT |
| \l | |
| \L | |
| \u | |
| \U | |
| \E | |
| $&, $MATCH, ${^MATCH} | マッチしたテキスト全体 |
| $`, $PREMATCH, ${^PREMATCH} | |
| $", $POSTMATCH, ${$POSTMATCH} | |
| $^N, $LAST_SUBMATCH_RESULT | 最後にマッチした部分式のテキストを返す |
| $+, $LAST_PAREN_MATCH | パターンの最後の部分式にマッチしたテキストを返す |
| $$ | $を返す |
| $n, ${n}, \n | n番目にマッチした部分式を返す (後方参照) nは、1~9の数値 置換ではいずれの形式でも可能だが、検索では\nのみ |
| $+{name} | nameと名付けられた部分式を返す |