首页 > 解决方案 > lex 的正则表达式词边界替代

问题描述

我现在正在使用 (f)lex 扫描仪,当我想使用正则表达式处理数字时,如下所示:

(\B[+-]?[0-9]+)|([0-9]+)

和比赛要求(我想要的结果)如图所示:

我想要的结果

我们可以看到绿色和红色是匹配案例(对于第一个和第二个条件)。这个“实验”在https://regex101.com/完成。

但是,当我尝试在 lex 中应用上述正则表达式时,它不起作用。

我已经对原因和替代方案进行了一些研究,但它们不符合我的需求:

  1. 这个答案解释了为什么上面的正则表达式不起作用
  2. 这个答案为类似情况提供了一个替代方案,这可能会给你一些想法。

我希望有人能给我一些想法。谢谢!

标签: regexlexword-boundary

解决方案


推荐阅读