正则表达式正则表达式,用于从SELECT查询中选择特定的字符串模式

时间:2019-07-05 13:52:56

标签: mysql regex

如果字符串以字母MS开头并且必须包含数字值0-9,则允许的最大数字值为7。

有效字符串:

MS1234567

MS3434344

MS4534523

无效的字符串:

  MS1234567-V2

    MS3434344:old

    YU4534523

    MS4534523768

TY4534523DEL

这是我尝试的查询,我得到的结果为空。我要去哪里了

SELECT MY_STRING_COLUMN
FROM MY_TABLE_NAME
WHERE  `MY_STRING_COLUMN` REGEXP '^[MS]{2}\d{7}';

我从此Stackoverflow post

获得的参考

1 个答案:

答案 0 :(得分:1)

尝试使用[0-9]代表正则表达式模式中的数字:

SELECT MY_STRING_COLUMN
FROM MY_TABLE_NAME
WHERE MY_STRING_COLUMN REGEXP '^MS[0-9]{7}$';

还请注意,如果要在字符串开头匹配MS,只需使用^MS