Skip to content

Commit

Permalink
Add about absence (absent) operator
Browse files Browse the repository at this point in the history
closes rurema#395
  • Loading branch information
znz committed Nov 14, 2017
1 parent 312543a commit 7a4a587
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
4 changes: 3 additions & 1 deletion refm/doc/news/2_4_0.rd
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,9 @@
for UTR #51 Unicode Emoji, Version 4.0 emoji zwj sequences.
* [[m:Regexp#match?]] を追加 [[feature:8110]]
true/false を返し、バックリファレンスを生成しません。
* Onigmo 6.0.0 に更新
* Onigmo 6.0.0 に更新 (Ruby 2.4.0)
* Onigmo 6.1.1 に更新 (Ruby 2.4.1)
* 非包含オペレータをサポートしました [[url:https://github.com/k-takata/Onigmo/issues/82]]

* [[c:Regexp]]/[[c:String]]: Unicodeのバージョンを8.0.0から9.0.0に更新しました [[feature:12513]]

Expand Down
18 changes: 18 additions & 0 deletions refm/doc/spec/regexp19
Original file line number Diff line number Diff line change
Expand Up @@ -684,6 +684,20 @@ d,a,u のオプションは正規表現直後に置く方式では指定がで
/x\ y/x.match("x y") # => #<MatchData "x y">
\s や \p{Space} のような文字クラスを使うのが良い場合も多いでしょう。

#@since 2.4.0
=== 非包含オペレータ (実験的)
(?~式) という記法で、式にマッチする文字列を含まない任意の文字列にマッチします。
#@until 2.5.0
(Ruby 2.4.1 で更新された Onigmo に含まれる機能のため、Ruby 2.4.0 では使えません。)
#@end

例えば (?~abc) は "", "ab", "aab", "abb", "ccdd" などにはマッチしますが、
"abc", "aabc", "ccabcdd" などにはマッチしません。

/\/\*(?~\*\/)\*\// は C スタイルのコメントにマッチします。
例えば "/**/", "/* foo bar */" など。

#@end
=== 一覧
Rubyで利用可能なメタ文字、メタ文字列の一覧です。

Expand Down Expand Up @@ -792,6 +806,10 @@ Rubyで利用可能なメタ文字、メタ文字列の一覧です。
* (?on-off:pat) patの間だけ on オプションを有効にし、offオプションを無効にする
コメント
* (?#comment here) コメント
#@since 2.4.0
非包含オペレータ
* (?~pat) 非包含オペレータ
#@end

=== 特殊変数
パターンマッチしたときに、以下の特殊変数にマッチの情報をセットします。
Expand Down

0 comments on commit 7a4a587

Please sign in to comment.