0
Stringy: 5/5
Stringy : 3 / 5
3 / 5  Stringy

我正在尝试匹配字符串上的两个前导空格,或者如果找不到则忽略它。我试过了:

SELECT *
FROM testtable
WHERE `file` REGEXP '(  )Stringy(: | : )'

虽然这不会返回任何行

是否有可能做到这一点?

4

1 回答 1

1

您需要转义在正则表达式模式中具有特殊含义的字符,例如括号().

带有两个前导空格的示例:

SELECT "  Stringy: 3/5" REGEXP '[ ]{2}Stringy(: | : )';
## 1
SELECT "  Stringy : 3 / 5" REGEXP '[ ]{2}Stringy(: | : )';
## 1

最多两个前导空格:

SELECT "Stringy : 3 / 5" REGEXP '[ ]{0,2}Stringy(: | : )';
## 1

另见

于 2012-09-22T20:13:40.280 回答