Ruby regex / {3} / – “太短的转义多字节字符”错误

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

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

我需要将它移植到Ruby:

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

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

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

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

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