这个正则表达式适用于PHP:
preg_match('/[\xF0-\xF7][\x80-\xBF]{3}/', '');
我需要将它移植到Ruby:
/[\xF0-\xF7][\x80-\xBF]{3}/ =~ ''
只是打印too short escaped multibyte character: /[\xF0-\xF7][\x80-\xBF]{3}/
错误。
这里有什么问题?我不明白这个错误在说什么。试图用\\
做更多的逃避,但没有。
答案 0 :(得分:0)
我认为您的角色编码已关闭。如果您尝试指定特定的unicode代码点,请使用\u####
转义序列。
然而,here描述了在字符串编码之间处理翻译的更健壮的方法。这将允许您指定输入编码,所需的输出编码,并让Ruby完成删除您不想要的字符的工作。