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完成删除您不想要的字符的工作。