在MySQL中使用RLIKE无法获得预期结果

在MySQL中使用RLIKE无法获得预期结果,mysql,Mysql,我正在使用下一个查询: SELECT id,module,pk,label,value FROM traducciones WHERE module='paginas' AND label='slug' AND value RLIKE '(tests)(-\d+)?' 预期结果将仅为选择: 测验 测试-1 测试-2 测试-N 问题是我得到了: 测验 测试法语 测试-u 测试-法语-u 如果我在RegExr中尝试该表达式,我会发现它只与tests、tests-1、tests-2匹配: 我

我正在使用下一个查询:

SELECT id,module,pk,label,value
FROM traducciones
WHERE module='paginas' AND label='slug' AND value RLIKE '(tests)(-\d+)?'
预期结果将仅为选择:

  • 测验
  • 测试-1
  • 测试-2
  • 测试-N
问题是我得到了:

  • 测验
  • 测试法语
  • 测试-u
  • 测试-法语-u
如果我在RegExr中尝试该表达式,我会发现它只与tests、tests-1、tests-2匹配:

我如何才能只得到第一个列表中的结果

提前谢谢你

改用这个

rlike '(tests)(-[0-9]+)?$'
用这个代替

rlike '(tests)(-[0-9]+)?$'