首页 > 解决方案 > RE2 语法:如果不共享相同的前缀,则跳过匹配

问题描述

我正在研究 RE2,想知道如何编写 RE2 表达式来实现以下目标:

 desired pattern: abc*
 I want to match with abc, abcd, abcde etc

但我不想匹配

xabc, xyabc etc

如何指定它以使 xabc 不匹配?

标签: c++regexre2

解决方案


我们会设计一个表达式,例如

^abc[a-z]*$

带有 start 和 end 锚以确保它不会通过xabc以及以abc.

该表达式在此演示的右上角面板中进行了说明,如果您希望进一步探索或修改它,并且在此链接中,您可以根据需要逐步观看它如何与一些示例输入匹配。


推荐阅读