Stringy: 5/5
Stringy : 3 / 5
3 / 5 Stringy
我正在尝试匹配字符串上的两个前导空格,或者如果找不到则忽略它。我试过了:
SELECT *
FROM testtable
WHERE `file` REGEXP '( )Stringy(: | : )'
虽然这不会返回任何行
是否有可能做到这一点?
最佳答案
您需要转义在正则表达式模式中具有特殊含义的字符,例如方括号(
,)
。
具有两个前导空格的示例:
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
另请参阅
MYSQL Docs on Regular Expressions
Escape special characters for SQL REGEXP
关于mysql - MySQL REGEXP匹配两个空格或不匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12547293/