\ |
次に続く文字が特殊文字、リテラル、前方参照、または 8 進エスケープであることを示します。たとえば、"n" は文字 "n"
と一致しますが、"\n" は改行文字と一致します。"\\" は "\" と、"\(" は "(" と一致します。 |
^ |
行の先頭と一致します。たとえば、"^e"は行頭の"e"と一致します。 |
$ |
行の末尾と一致します。たとえば、"e$"は行末の"e"と一致します。 |
* |
直前の文字または部分式と 0 回以上一致します。たとえば、zo* は "z" と "zoo" のどちらにも一致します。* は {0,}
と同じ意味です。 |
+ |
直前の文字または部分式と 1 回以上一致します。たとえば、'zo+' は "zo" や "zoo" とは一致しますが、"z"
とは一致しません。+ は {1,} と同じ意味です。 |
? |
直前の文字または部分式と 0 回または 1 回一致します。たとえば、"do(es)?" は "do" または "does" の "do"
と一致します。? は {0,1} と同じ意味です。 |
{n} |
n には、0 以上の整数を指定します。正確に n 回一致します。たとえば、'o{2}' は "Bob" の "o"
とは一致しませんが、"food" の 2 つの "o" とは一致します。 |
{n,} |
n には、0 以上の整数を指定します。少なくとも n 回一致します。たとえば、'o{2,}' は "Bob" の "o"
とは一致しませんが、"foooood" のすべての "o" とは一致します。"o{1,}" は "o+" と同じ意味です。"o{0,}" は
"o*" と同じ意味です。 |
{n,m} |
m および n には 0 以上の整数を指定します。n は m 以下です。n 〜 m 回一致します。たとえば、"o{1,3}" は
"fooooood" の最初の 3 つの "o" と一致します。"o{0,1}" は "o?"
と同じ意味です。カンマと数の間には空白を入れません。 |
? |
ほかの量指定子 (*, +, ?, {n}, {n,}, {n,m})
の直後に指定すると、一致パターンが最短一致になります。既定のパターンでは、できるだけ多くの文字列と一致するのに比べて、最短一致パターンでは、できるだけ少ない文字列と一致します。たとえば、文字列
"oooo" に対して、'o+?' を指定すると 1 つの "o" と一致し、'o+' を指定するとすべての "o" と一致します。 |
. |
任意の 1 文字に一致します。たとえば、".e"は、"he"、"we"、"me"のいずれかと一致します。EmEditor
Professional では、[正規表現「.」が改行文字に一致することができる] チェック
ボックスがチェックされている場合、[正規表現で検索する追加行数] テキスト ボックスで指定する行数の範囲内で、改行にも一致します。EmEditor
Standard では、改行には一致しません。 |
(pattern) |
()は、2つの目的があります: pattern
を部分式にグループ化することと、一致した文字列を取得することです。たとえば"(ab)*"は"ababab"という文字列すべてに一致します。部分式は左から右の順に番号化された後方参照
(以下を参照) によって取得できます。かっこ ( ) と一致させるには、'\(' または '\)' を指定します。 |
\1 - \9 |
後方参照を示します。後方参照は、一致した部分式への参照です。参照は部分式が一致したものであり、表現そのものではありません。後方参照はエスケープ文字"\"とそれに続く数字"1"-"9"から成り立っています。後方参照は
[検索] メニューの [置換] を選択したときに使います。正規表現を使ってテキスト
パターンを見つけ、一致したテキストは指定した後方参照で置換されます。たとえば、"(h)(e)"は"he"を見つけ、[置換後の文字列]
に入力した"\1"は"he"を"h"に変換し、"\2\1"は"he"を"eh"に変換します。 |
(?:pattern) |
pattern と一致しても、その文字列が記憶されない部分式です。後方参照で使用できません。"または" を意味する (|)
を使用して、パターンの一部を結合するときに便利です。たとえば、'industry|industries'
と指定する代わりに、'industr(?:y|ies)' と指定する方が簡潔です。 |
(?=pattern) |
肯定先読みを実行する部分式です。pattern
に一致する文字列が始まる位置にある検索文字列と一致します。一致した文字列は記憶されず、後で使用することはできません。たとえば"x(?=abc)"は、abc
が後に続く場合のみ"x"に一致します。pattern には改行を含めることはできません。 |
(?!pattern) |
否定先読み検索を実行する部分式です。pattern
に一致しない文字列が始まる位置にある検索文字列と一致します。一致した文字列は記憶されず、後で使用することはできません。たとえば"x(?!abc)"は、abc
が後に続かない場合のみ"x"に一致します。pattern には改行を含めることはできません。 |
(?<=pattern) |
肯定後読みを実行する部分式です。pattern
に一致する文字列で終わる位置にある検索文字列と一致します。一致した文字列は記憶されず、後で使用することはできません。たとえば"(?<=abc)x"は、abc
の後に続く場合のみ"x"に一致します。pattern には改行を含めることはできません。 |
(?<!pattern) |
否定後読み検索を実行する部分式です。pattern
に一致しない文字列で終わる位置にある検索文字列と一致します。一致した文字列は記憶されず、後で使用することはできません。たとえば"(?<!abc)x"は、abc
の後に続かない場合のみ"x"に一致します。pattern には改行を含めることはできません。 |
x|y |
x または y と一致します。たとえば、"z|food" は "z" または "food" と一致します。'(z|f)ood'
は、"zood" または "food" に一致します。 |
[xyz] |
文字セットを指定します。角かっこで囲まれた文字のいずれかに一致します。たとえば、'[abc]' は "plain" の 'a'
と一致します。 |
[^xyz] |
除外する文字セットを指定します。角かっこで囲まれた文字以外の文字に一致します。たとえば、'[^abc]' は "plain" の "p,
l, i, n" と一致します。 |
[a-z] |
文字の範囲を指定します。指定した範囲に含まれる任意の文字に一致します。たとえば、'[a-z]' は小文字の英字 a 〜 z
の範囲にある任意の文字と一致します。 |
[^a-z] |
否定の文字の範囲を指定します。指定した範囲に含まれていない任意の文字に一致します。たとえば、'[^a-z]' は小文字の英字 a 〜 z
の範囲外にある任意の文字と一致します。 |