我正在尝试使用regexp从我的数据库中选择特定行,但由于某种原因它无法正常工作。我做错了什么,我该如何解决?
select response from allData where response regexp '\*([a-zA-Z]+ )+\*'
假设选择如下行:
*踢你*
^ ---在单词之后有一个额外的空格,在星号之前。但它不起作用。我该如何解决?
答案 0 :(得分:4)
您没有正确转义*
。反斜杠既是字符串又是正则表达式转义字符。为了使正则表达式引擎能够看到转义*
的反斜杠,你必须转义反斜杠才能通过字符串解析器。
select response from allData where response regexp '\\*([a-zA-Z]+ )+\\*'