| 正規表現について Regular Expressions

## SciTE における正規表現 Regular Expressions in SciTE

(訳注: ここで紹介されている正規表現は古い形のもので、SciTE の他では通用しないこともあるかもしれない。)

### 目的 Purpose

検索をするとき、文字列そのものではなく正規表現を用いて検索対象を指定することができます。例えば SciTE の属性ファイル内の変数を検索するには `$(英小文字による名前)` の形をしているということで `\$([a-z.]+)` と指定します。

Regular expressions can be used for searching for patterns rather than literals. For example, it is possible to search for variables in SciTE property files, which look like $(name) with the regular expression:
\$([a-z.]+)

置換内容にも正規表現を利用でき、タグ表記による複雑な変換を行うことができます。例えば 検索対象を `\([0-9]+\),\([0-9]+\)`、置換内容を `\2,\1` とすると、『数値甲,数値乙』 の甲乙順を逆にすることができます。

Replacement with regular expressions allows complex transformations with the use of tagged expressions. For example, pairs of numbers separated by a ',' could be reordered by replacing the regular expression:
\([0-9]+\),\([0-9]+\)
with:
\2,\1

### 正規表現の文法 Syntax

(訳注: この部分の原文はプレーンテキストから HTML 化する際に失敗したらしい。)

1. 文字は一対一の合致検査を行う。ただし次の特殊文字（メタ文字）を除く。 . \ [ ] * + ^ $ char matches itself, unless it is a special character (metachar): . \ [ ] * + ^ $
2. ピリオド記号 . はどの文字にも合致する。 . matches any character.
3. 記号 \ は直後の文字と合致する。ただし、直後の文字が丸括弧、1〜9 の一桁の数字、不等号であった場合を除く（ [7][8][9] を参照 ）。これは \ 自身を含むメタ文字をエスケープするために用いられる方法である。組表現 ([4]) の中で用いられるときは、番号で指定された文字とみなされる。 \ matches the character following it, except when followed by a left or right round bracket, a digit 1 to 9 or a left or right angle bracket. (see [7], [8] and [9]) It is used as an escape character for all other meta-characters, and itself. When used in a set ([4]), it is treated as an ordinary character.
4. [組表現] はその中のどれか一文字があれば合致する。組表現の最初の文字が ^ である場合は、その中にある残りの文字のどれでもないときに合致する。 S-E という省略表現は、S から E までの両端を含む文字すべての集合を意味する。特殊記号 "]" と "-" が組表現の最初に出てきたときは特別な意味を持たない。

                       例:             合致するもの:

                      [a-z]            小文字アルファベットのどれか

                      [^]-]            ] と - を除く文字なら何でも合致

                      [^A-Z]           大文字アルファベットでなければ合致

                      [a-zA-Z]         アルファベットが合致

   [set] matches one of the characters in the set. If the first character in the set is "^", it matches a character NOT in the set, i.e. complements the set. A shorthand S-E is used to specify a set of characters S up to E, inclusive. The special characters "]" and "-" have no special meaning if they appear as the first chars in the set.

                       examples:        match:

                               [a-z]    any lowercase alpha

                               [^]-]    any char except ] and -

                               [^A-Z]   any char except uppercase
                                        alpha

                               [a-zA-Z] any alpha

5. 上記 [1]〜[4] の正規表現に * が続いている場合、その表現の零回以上の繰り返しを表す。 * any regular expression form [1] to [4], followed by closure char (*) matches zero or more matches of that form.
6. + は * と同様だが、一回以上の繰り返しを表す。 + same as [5], except it matches one or more.
7. [1] から [10] までの正規表現が \(表現\) の形で囲まれているとき、その部分は中身の表現と合致し、さらにタグを生成する。タグは [8] で用いられる。タグは 1 から順に番号づけられる。 a regular expression in the form [1] to [10], enclosed as \(form\) matches what form matches. The enclosure creates a set of tags, used for [8] and for pattern substitution. The tagged forms are numbered starting from 1.
8. \ の直後に 1〜9 の数字が続いている場合、[7] で示したタグの位置で合致した文字列を表す。 a \ followed by a digit 1 to 9 matches whatever a previously tagged regular expression ([7]) matched.
9. \< で始まるか \> で終わるかすると、先頭の単語あるいは末尾の単語が合致するように制限がかかる。単語とは A-Z a-z 0-9 と _. から成り、単語の前後はこれ以外の文字でなくてはならない。 \< a regular expression starting with a \< construct \> and/or ending with a \> construct, restricts the pattern matching to the beginning of a word, and/or the end of a word. A word is defined to be a character string beginning and/or ending with the characters A-Z a-z 0-9 and _. It must also be preceded and/or followed by any character outside those mentioned.
10. 複合正規表現 xy について、x と y が各々 [1]〜[10] のどれかの形を取っているとき、合致した y の直前の x に対する合致文字列は最長一致部分になる。 a composite regular expression xy where x and y are in the form [1] to [10] matches the longest match of x followed by a match for y.
11. ^ で始まる正規表現、あるいは $ で終わる正規表現はそれぞれ行頭、行末に合致する。これらの位置にない ^ や $ は通常の文字として扱われる。 ^ a regular expression starting with a ^ character $ and/or ending with a $ character, restricts the pattern matching to the beginning of the line, or the end of line. [anchors] Elsewhere in the pattern, ^ and $ are treated as ordinary characters.

### 告知 Acknowledgments

この文書の原文は Ozan S. Yigit によって記述されました。
Neil Hodgson が追加の記述を行いました。
この文書のすべてはパブリックドメインです。

Most of this documentation was originally written by Ozan S. Yigit.
Additions by Neil Hodgson.
All of this document is in the public domain.