正则表达式mysql REGEXP

时间:2015-11-18 18:40:54

标签: mysql regex

表格中有以下字符串:

activity_result.step1.desires
activity_result.step1.desires.one
activity_result.step1.desires.one.1
activity_result.step1.desires.two
activity_result.step1.desires.abs
activity_result.step5.habits
activity_result.step2.noroc
activity_result.step2.habits.ops
activity_result.step2.habits.ops.trei

我想在MySQL中使用REGEXP来获取以下记录:

activity_result.step1.desires
activity_result.step5.habits
activity_result.step2.noroc

我从^activity_result\.step([0-9]|[1-9][0-9])$开始。请帮助如何更改注册表以获得所需的结果?

1 个答案:

答案 0 :(得分:1)

看起来你想要这个:

  • 字符串的开头(^)
  • activity_result(activity_result)
  • 一段时间(。)
  • 单词step(step)
  • 0到99之间没有填充的数字([0-9] | [1-9] [0-9])
  • 一段时间(。)
  • 任何不包含句点([^。] +)
  • 的字符串
  • 字符串结尾($)

所以在正则表达式中

^activity_result\.step([0-9]|[1-9][0-9])\.[^.]+$

您可以在https://regex101.com/

对此进行测试

粘贴在正则表达式中,添加gm修饰符,然后粘贴您的示例数据,它会显示匹配项。