検索結果
-
Regexp
# fixed _ encoding? -> bool (18119.0) -
正規表現が任意の ASCII 互換エンコーディングとマッチ可能な時に false を返します。
...CII 互換エンコーディングとマッチ可能な時に false を返します。
//emlist[例][ruby]{
# -*- coding:utf-8 -*-
r = /a/
r.fixed_encoding? # => false
r.encoding # => #<Encoding:US-ASCII>
r =~ "\u{6666} a"......# => 2
r =~ "\xa1\xa2 a".force_encoding("euc-jp") # => 2
r =~ "abc".force_encoding("euc-jp") # => 0
r = /a/u
r.fixed_encoding? # => true
r.encoding # => #<Encoding:UTF-8>
r =~ "\u{6666} a"......# => Encoding::CompatibilityError
end
r =~ "abc".force_encoding("euc-jp") # => 0
r = /\u{6666}/
r.fixed_encoding? # => true
r.encoding # => #<Encoding:UTF-8>
r =~ "\u{6666} a"... -
正規表現 (18.0)
-
正規表現 * metachar * expansion * char * anychar * string * str * quantifier * capture * grouping * subexp * selector * anchor * cond * option * encoding * comment * free_format_mode * absenceop * list * specialvar * references
...ncoding::CompatibilityError が発生します。
エンコーディングについては spec/m17n も参考にしてください。
Regexp#fixed_encoding? で正規表現のエンコーディングが
「固定」さているかどうかを調べることができます。
これが真である......とで明示的に指定することが可能です。
//emlist[][ruby]{
# -*- coding:utf-8 -*-
/あいう/.fixed_encoding? # => true
/abc/.fixed_encoding? # => false
/abc/e.fixed_encoding? # => true
/abc/ =~ "あいう" # => nil
/abc/e =~ "あいう"
# ~> -:6:in `<main>': incompatible encoding re...