我需要一个支持原始UTF-8的正则表达式引擎 - 意思是,UTF-8字符串作为两个字符(或者一个或更少)存储在char *中 - 例如,Ab是数组{0x41,0x62 }。 有人知道可以接收该格式的正则表达式引擎吗? 如果需要,我可以先转换为wchar_t。
答案 0 :(得分:2)
This page表示可以使用Boost.Regex,条件是您配置并使用ICU library。
答案 1 :(得分:0)
目前PCRE的实施 (版本7.x)对应近似值 与Perl 5.10配合使用,包括支持UTF-8编码 字符串和 Unicode常规类别属性。但是,UTF-8和Unicode 支持 必须明确启用;它不是默认值。 Unicode 表 对应于Unicode版本5.1。
答案 2 :(得分:0)
处理UTF-8的非常量字符长度特性使得创建算法(如正则表达式)非常困难。
最好将utf-8字符串转换为带ICU的unicode wstring,然后使用boost::regex的wstring变体