[[:punct:]]
относится к пунктуации в юникоде. Например: https://www.fileformat.info/info/unicode/category/Po/list.htm
s = "foo\u1368bar" # => "foo፨bar"
s.split(/[[:punct:]]/) # => ["foo", "bar"]
Извините, но мой вопрос вот-вот получить этот список, используя Ruby.
Из-за отсутствия лучшей идеи вы всегда можете выполнить цикл от 1 до максимального числа символов в Unicode, обрабатывать его как код символа, генерировать строку из одного символа и сопоставлять ее с [[:punct:]]
regex. Вот быстрая и грязная реализация
punct = 1.upto(65535).map do |x|
x.chr(Encoding::UTF_8)
rescue RangeError
nil
end.reject(&:nil?).select do |s|
s =~ /[[:punct:]]/
end
Результат (как показано моими макросами):