http://idiosyncratic-ruby.com/30-regex-with-class.html

сно сдокументация Онигурума,\d тип символов соответствует:

десятичная цифра
Unicode: General_Category - Decimal_Number

Тем не менее, сканирование для\d в строке со всеми символами Decimal_Number совпадают только латинские цифры 0-9:

#encoding: utf-8
require 'open-uri'
html = open("http://www.fileformat.info/info/unicode/category/Nd/list.htm").read
digits = html.scan(/U\+([\da-f]{4})/i).flatten.map{ |s| s.to_i(16) }.pack('U*')

puts digits.encoding, digits
#=> UTF-8
#=> 0123456789٠١٢٣٤٥٦٧٨٩۰۱۲۳۴۵۶۷۸۹߀߁߂߃߄߅߆߇߈߉०१२३४५६७८९০১২৩৪৫৬৭৮৯੦੧੨…

p RUBY_DESCRIPTION, digits.scan(/\d/)
#=> "ruby 1.9.2p180 (2011-02-18) [i386-mingw32]"
#=> ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]

Я неправильно читаю документацию? Почему не\d сопоставлять другие цифры Unicode и / или есть ли способ сделать это?

Ответы на вопрос(3)

Ваш ответ на вопрос