Ruby regex /[\xF0-\xF7][\x80-\xBF]{3}/ -- "too short escaped multibyte character"错误



这个正则表达式在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完成删除您不需要的字符的工作。

最新更新