Ruby regex / [\ xF0- \ xF7] [\ x80- \ xBF] {3} / - “太短的转义多字节字符”错误

时间:2014-01-10 16:08:17

标签: ruby regex unicode

这个正则表达式适用于PHP:

preg_match('/[\xF0-\xF7][\x80-\xBF]{3}/', '');

我需要将它移植到Ruby:

/[\xF0-\xF7][\x80-\xBF]{3}/ =~ ''

只是打印too short escaped multibyte character: /[\xF0-\xF7][\x80-\xBF]{3}/错误。

这里有什么问题?我不明白这个错误在说什么。试图用\\做更多的逃避,但没有。

1 个答案:

答案 0 :(得分:0)

我认为您的角色编码已关闭。如果您尝试指定特定的unicode代码点,请使用\u####转义序列。

然而,here描述了在字符串编码之间处理翻译的更健壮的方法。这将允许您指定输入编码,所需的输出编码,并让Ruby完成删除您不想要的字符的工作。