summaryrefslogtreecommitdiff
path: root/doc/RE.ja
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff.email>2019-07-13 14:54:01 +0200
committerJörg Frings-Fürst <debian@jff.email>2019-07-13 14:54:01 +0200
commit7bbf4ae1401bc6e40f71a32d3f97952796d85690 (patch)
tree61c3edf1a277547ecd11903427a31cd09cf42b8a /doc/RE.ja
parentf883fa5bd37b6420f5dc25027a68289c64028063 (diff)
parent62c49103a575c79d20d524b36d1b7c4db9515dbf (diff)
Merge branch 'release/debian/6.9.2-1'debian/6.9.2-1
Diffstat (limited to 'doc/RE.ja')
-rw-r--r--doc/RE.ja94
1 files changed, 49 insertions, 45 deletions
diff --git a/doc/RE.ja b/doc/RE.ja
index b35a51e..c09e237 100644
--- a/doc/RE.ja
+++ b/doc/RE.ja
@@ -1,4 +1,4 @@
-鬼車 正規表現 Version 6.8.0 2018/07/26
+鬼車 正規表現 Version 6.9.2 2019/03/29
使用文法: ONIG_SYNTAX_ONIGURUMA (既定値)
@@ -81,15 +81,22 @@
\O 真任意文字 (?m:.) (* 原作)
- \X 拡張書記素房 (?>\O(?:\Y\O)*)
+ \X 文章区分 \X === (?>\O(?:\Y\O)*)
- \Xは照合の開始位置が拡張書記素房の境界かどうかを確認しない。
+ この演算子の意味は、オプション (?y{..})の設定によって変化する。
+
+ \Xは照合の開始位置が区分の境界かどうかを確認しない。
それを確実にしたければ、\y\Xと書けば良い。
- Unicodeの場合:
- 参照 [Unicode Standard Annex #29: http://unicode.org/reports/tr29/]
+ [拡張書記素房-状態のとき] (デフォルト)
+ Unicodeの場合:
+ 参照 [Unicode Standard Annex #29: http://unicode.org/reports/tr29/]
+
+ Unicode以外の場合: \X === (?>\r\n|\O)
- Unicode以外の場合: (?>\r\n|\O)
+ [単語-状態のとき]
+ 現在、Unicodeしかサポートしていない。
+ 参照 [Unicode Standard Annex #29: http://unicode.org/reports/tr29/]
Character Property
@@ -119,17 +126,17 @@
? 一回または零回
* 零回以上
+ 一回以上
- {n,m} n回以上m回以下
+ {n,m} (n <= m) n回以上 かつ m回以下
{n,} n回以上
{,n} 零回以上n回以下 ({0,n})
{n} n回
無欲
- ?? 一回または零回
+ ?? 零回または一回
*? 零回以上
+? 一回以上
- {n,m}? n回以上m回以下
+ {n,m}? (n <= m) n回以上 かつ m回以下
{n,}? n回以上
{,n}? 零回以上n回以下 (== {0,n}?)
@@ -138,8 +145,9 @@
?+ 一回または零回
*+ 零回以上
++ 一回以上
+ {n,m} (n > m) m回以上 かつ n回以下
- ({n,m}+, {n,}+, {n}+ は、ONIG_SYNTAX_JAVAでのみ強欲な指定子)
+ {n,m}+, {n,}+, {n}+ は、ONIG_SYNTAX_JAVAとONIG_SYNTAX_PERLでのみ強欲な指定子
例. /a*+/ === /(?>a*)/
@@ -150,8 +158,6 @@
$ 行末
\b 単語境界
\B 非単語境界
- \y 拡張書記素房 境界
- \Y 拡張書記素房 非境界
\A 文字列先頭
\Z 文字列末尾、または文字列末尾の改行の直前
@@ -160,6 +166,23 @@
\K 保持 (結果の開始位置をこの位置に保つ)
+ \y 文章区分 境界
+ \Y 文章区分 非境界
+
+ この演算子の意味は、オプション (?y{..})の設定によって変化する。
+
+ [拡張書記素房-状態のとき] (デフォルト)
+ Unicodeの場合:
+ 参照 [Unicode Standard Annex #29: http://unicode.org/reports/tr29/]
+
+ Unicode以外の場合:
+ \rと\nの間を除く全ての位置
+
+ [単語-状態のとき]
+ 現在、Unicodeしかサポートしていない。
+ 参照 [Unicode Standard Annex #29: http://unicode.org/reports/tr29/]
+
+
6. 文字集合
@@ -220,7 +243,7 @@
(?#...) 注釈
- (?imxWDSP-imxWDSP:式) 式オプション
+ (?imxWDSPy-imxWDSP:式) 式オプション
i: 大文字小文字照合
m: 複数行
@@ -233,7 +256,14 @@
(alnum, alpha, blank, cntrl, digit, graph,
lower, print, punct, space, upper, xdigit, word)
- (?imxWDSP-imxWDSP) 孤立オプション
+ y{?}: 文章区分状態
+ このオプションは\X, \y, \Yの意味を変更する。
+ 現在このオプションはUnicodeでしかサポートしていない
+ y{g}: 拡張書記素房-状態 (デフォルト)
+ y{w}: 単語-状態
+ 参照 [Unicode Standard Annex #29]
+
+ (?imxWDSPy-imxWDSP) 孤立オプション
* これは次の')'またはパターンの終わりまでのグループを形成する
/ab(?i)c|def|gh/ == /ab(?i:c|def|gh)/
@@ -482,9 +512,14 @@
補記 2. 独自拡張機能
+ 16進数数字、非16進数字 \h, \H
+ + 真任意文字 \O
+ + 文章区分境界 \y, \Y
+ + 後方参照値有効性確認器 (?(...))
+ 名前付き捕獲式集合 (?<name>...), (?'name'...)
+ 名前指定後方参照 \k<name>
+ 部分式呼出し \g<name>, \g<group-num>
+ + 不在式 (?~|...|...)
+ + 不在停止 (?|...)
補記 3. Perl 5.8.0と比較して存在しない機能
@@ -539,35 +574,4 @@
/(?:()|())*\1\2/ =~ ""
/(?:\1a|())*/ =~ "a"
-
-
-補記 5. 実装されているが、既定値では有効にしていない機能
-
- + 捕獲履歴参照
-
- (?@...) と (?@<name>...)
-
- 例. /(?@a)*/.match("aaa") ==> [<0-1>, <1-2>, <2-3>]
-
- 使用方法は、sample/listcap.cを参照
-
- 有効にしていない理由は、どの程度役に立つかはっきりしないため。
-
-
-補記 6. 問題点
-
- + エンコーディングバイト値が適正な価かどうかのチェックは行なっていない。
-
- 例: UTF-8
-
- * 先頭バイトとして不正なバイトを一文字とみなす
- /./u =~ "\xa3"
-
- * 不完全なバイトシーケンスのチェックをしない
- /\w+/u =~ "a\xf3\x8ec"
-
- これを調べることは可能ではあるが、遅くなるので行なわない。
-
- 文字列として、そのようなバイト列を指定した場合の動作は保証しない。
-
終り