ruby 1.8.7中的Regexp将检测一个4字节的Unicode字符

时间:2011-10-15 00:21:32

标签: ruby regex astral-plane

有谁能告诉我如何在ruby 1.8.7中编写ruby regexp以检测是否存在4字节的unicode字符(特别是表情符号)?我试图处理mysql does not, by default的事实,允许你存储4字节的表情符号unicode字符,现在由iOS 5使用。

谢谢!

2 个答案:

答案 0 :(得分:2)

这似乎与表示表情符号的四个字节的前两个字节相匹配。这是在ruby 1.8.7中运行。

str.match(/\360\237/)

答案 1 :(得分:0)

使用非阻塞在线方法,例如,改变表格是可行的。 Maatkit的在线模式变更:http://www.percona.com/doc/percona-toolkit/pt-online-schema-change.html

来自文档:

  

简而言之,这个工具的工作原理是创建一个临时表   原始表的副本(被更改的表)。 (暂时的   表不是像CREATE TEMPORARY TABLE那样创建的;我们称之为暂时的   因为它最终取代了原来的表。)临时的   表被更改,然后触发器在原始表上定义   捕获对其进行的更改并将其应用于临时表。这个   保持两个表同步。然后从中复制所有行   原始表到临时表;这部分可能需要一段时间。什么时候   完成复制行后,使用RENAME TABLE交换这两个表。   此时表有两个副本:旧表中的哪个   曾经是原始的表,以及以前的新表   临时表,但现在与原始表具有相同的名称。如果   指定了drop-old-table,然后删除旧表。