MySQL regexp:重复运算符操作数无效,无法获取序号
我试图从一列中选择所有序号,如1、22、8等,我的查询如下所示:MySQL regexp:重复运算符操作数无效,无法获取序号,mysql,regex,Mysql,Regex,我试图从一列中选择所有序号,如1、22、8等,我的查询如下所示: SELECT `Date` from meetings2 where `Date` REGEXP '(?<=[0-9])(?:st|nd|rd|th)' 我也试过用*代替?因为我读取的MySQL不支持?,但我得到了与REGEXP相同的错误,您只能获取regex模式找到匹配项的所有记录。您的模式包含MySQL REGEXP不支持的lookbehind,它也不支持非捕获组。它只能像REGEXP'[0-9]st | nd | r
SELECT `Date` from meetings2 where `Date` REGEXP '(?<=[0-9])(?:st|nd|rd|th)'
我也试过用*代替?因为我读取的MySQL不支持?,但我得到了与REGEXP相同的错误,您只能获取regex模式找到匹配项的所有记录。您的模式包含MySQL REGEXP不支持的lookbehind,它也不支持非捕获组。它只能像REGEXP'[0-9]st | nd | rd | th'那样编写谢谢,您知道在replace命令中是否可以使用它吗?当查询工作时,即使在添加了在这里找到的函数之后,replace也会更改零行:您最终需要得到什么?只有st、nd、rd或th或带有这些后缀的数字?如果条目没有匹配模式怎么办?我需要用逗号替换任何序数的任何实例,后跟年份,因此,例如,2月22日应成为2017年2月22日。我认为您不能使用该函数,因为您无法访问反向引用。
Got error 'repetition-operator operand invalid' from regexp