diff options
Diffstat (limited to 'doc/RE.ja')
-rw-r--r-- | doc/RE.ja | 71 |
1 files changed, 64 insertions, 7 deletions
@@ -1,4 +1,4 @@ -鬼車 正規表現 Version 6.4.0 2017/06/28 +鬼車 正規表現 Version 6.5.0 2017/07/30 使用文法: ONIG_SYNTAX_RUBY (既定値) @@ -35,7 +35,7 @@ 3. 文字種 - . 任意文字 (改行を除く) + . 任意文字 (改行を除く: オプションに依存) \w 単語構成文字 @@ -53,7 +53,7 @@ \t, \n, \v, \f, \r, \x20 Unicodeの場合: - 0009, 000A, 000B, 000C, 000D, 0085(NEL), + U+0009, U+000A, U+000B, U+000C, U+000D, U+0085(NEL), General_Category -- Line_Separator -- Paragraph_Separator -- Space_Separator @@ -70,6 +70,16 @@ \H 非16進数字 + \R 汎改行 (* 文字集合の中では使用できない) + "\r\n" or \n,\v,\f,\r (* 但し \r\nから\rにはバックトラックしない) + + Unicodeの場合: + "\r\n" or \n,\v,\f,\r or U+0085, U+2028, U+2029 + + \N 非改行文字 (?-m:.) + + \O 真任意文字 (?m:.) (* 原作) + Character Property @@ -133,6 +143,8 @@ \Z 文字列末尾、または文字列末尾の改行の直前 \z 文字列末尾 \G 照合開始位置 + \K 保持 (結果の開始位置をこの位置に保つ) + 6. 文字集合 @@ -182,9 +194,9 @@ Final_Punctuation | Initial_Punctuation | Other_Punctuation | Open_Punctuation space Space_Separator | Line_Separator | Paragraph_Separator | - 0009 | 000A | 000B | 000C | 000D | 0085 + U+0009 | U+000A | U+000B | U+000C | U+000D | U+0085 upper Uppercase_Letter - xdigit 0030 - 0039 | 0041 - 0046 | 0061 - 0066 + xdigit U+0030 - U+0039 | U+0041 - U+0046 | U+0061 - U+0066 (0-9, a-f, A-F) word Letter | Mark | Decimal_Number | Connector_Punctuation @@ -230,6 +242,52 @@ この場合には、この名前を使用した後方参照は可能であるが、 部分式呼出しはできない。 + <不在機能群> + + (?~不在式) 不在繰り返し (*原案 田中哲) + これは.*のように(より正確には\O*)動作するが、不在式に + 適合する文字列を含まない範囲に制限される。 + これは(?~|不在式|\O*)の省略表記である。 + \O*の部分はマルチラインオプション(?m)の影響を受けない。 + + (?~|不在式|式) 不在式 (* 原作) + これは"式"のように動作するが、不在式に適合する文字列を + 含まない範囲に制限される。 + + 例 (?~|345|\d*) "12345678" ==> "12", "1", "" + + (?~|不在式) 不在切断 (* 原作) + この演算子を通過した後は、対象文字列の適合範囲の最後が + 不在式に適合する文字列を含まない範囲に制限される。 + + (?~|) 不在消去 + 不在切断の効果を消して、初期状態にする。 + (* この演算子の効果は後退再試行で無効化されない) + + * 不在機能の入れ子はサポートしておらず、挙動は不定とする。 + + + (?(条件式)成功式|失敗式) 条件式が成功すれば成功式、失敗すれば失敗式を実行する + この機能の存在理由は、成功式が失敗しても失敗式には + 行かないこと。これは他の正規表現で書くことができない。 + もうひとつは、条件式が後方参照のとき、後方参照値の有効性 + を調べる(文字列とマッチングはしない)意味になる。 + + (?(条件式)成功式) 条件式が成功すれば成功式を実行する + (条件式が通常の式のときには、この構文は不必要だが + 今のところエラーにはしない。) + + + 条件式は後方参照または通常の式を使用できる。 + 条件式が後方参照の場合、成功式と失敗式の両方を省略可能であり、 + この場合、後方参照値有効性を調べる(成功/失敗)機能のみになる。 + + [後方参照値有効性確認器] (* 原作) + (?(n)), (?(-n)), (?(+n)), (?(n+level)) ... + (?(<n>)), (?('-n')), (?(<+n>)) ... + (?(<name>)), (?('name')), (?(<name+level>)) ... + + 8. 後方参照 @@ -288,7 +346,7 @@ -9. 部分式呼出し ("田中哲スペシャル") +9. 部分式呼出し ("田中哲スペシャル") (* 原作) \g<name> 名前指定呼出し \g'name' 名前指定呼出し @@ -373,7 +431,6 @@ + \l,\u,\L,\U, \X, \C + (?{code}) + (??{code}) - + (?(condition)yes-pat|no-pat) * \Q...\E 但しONIG_SYNTAX_PERLとONIG_SYNTAX_JAVAでは有効 |