diff --git a/doc/RE b/doc/RE index 98f1f717..17c84ba9 100644 --- a/doc/RE +++ b/doc/RE @@ -308,9 +308,12 @@ syntax: ONIG_SYNTAX_RUBY (default) left-most group is checked, but it should be the same as \k. - (?~subexp) absent operator (experimental) + (?~subexp) absence operator (experimental) Matches any string which doesn't contain any string which matches subexp. + More precisely, (?~subexp) matches the complement set of + a set which .*subexp.* matches. This is regular in the + meaning of formal language theory. Similar to (?:(?!subexp).)*, but easy to write. E.g.: diff --git a/doc/RE.ja b/doc/RE.ja index ce19c6e2..c4e25687 100644 --- a/doc/RE.ja +++ b/doc/RE.ja @@ -308,7 +308,9 @@ (?~式) 非包含オペレータ (実験的) 式にマッチする文字列を含まない任意の文字列にマッチする。 - (?:(?!subexp).)* と似ているが簡単に書ける。 + より正確には、(?~式) は、.*式.* がマッチする集合の補集合に + マッチする。これは形式言語理論の意味で正規である。 + (?:(?!式).)* と似ているが簡単に書ける。 例: (?~abc) は以下にマッチする: "", "ab", "aab", "ccdd" 等