RE-flex是一个非常整洁的unicode感知版本的flex,如果你之前使用过flex(我有: - ),那就太棒了。
我们目前正在对所有产品进行重大重新设计;主要目标是在新实现中从第1天开始支持unicode - 我们并不需要做很多事情;除了知道“字母”的情况以及空白字符是什么外,我们有时需要将字符从小写转换为大写,反之亦然。最重要的是,我们还需要一个允许回溯的正则表达式引擎(我们可以解决这个问题,但它会让我们的生活更容易)。
RE-flex将让我们轻松地做前两个,它允许我们使用C ++ std::regex
作为引擎,它支持回溯(我们没有测试过,所以 - 如果这会导致任何问题有案例请告诉我。)
我们能找到的唯一选择是ICU。我们希望避免使用它,因为我们必须部署在一些非常有限的平台上,其中ICU的占地面积有点问题。我们已经讨论过如何将其降低到易于管理的程度,但如果我们能够避免它,我们宁愿不去做。
那么,RE-flex是解决我们问题的可行方案,还是我们被迫使用ICU?如果我们可以使用RE-flex,我们如何使用它来转换案例?