过滤器字符串在mysql中只包含q
我需要mysql查询的帮助,我写了这个查询过滤器字符串在mysql中只包含q,mysql,sql,string,where-clause,Mysql,Sql,String,Where Clause,我需要mysql查询的帮助,我写了这个查询 select * from post where content REGEXP '^q' 这个查询是工作的,但它也包含了过滤器中的空格,如果我想做的任何字符串,比如QQQQQQ或者QQQQ或者QQQ或者QQ或Q,只要这个字符串就必须过滤,现在如果我有QQQQ QQ的字符串,那么它又在给我什么结果,它不应该考虑这个空间,有人能帮我解决这个问题吗?你可以像下面这样修复你的regexp: select * from post where content R
select * from post where content REGEXP '^q'
这个查询是工作的,但它也包含了过滤器中的空格,如果我想做的任何字符串,比如QQQQQQ或者QQQQ或者QQQ或者QQ或Q,只要这个字符串就必须过滤,现在如果我有QQQQ QQ的字符串,那么它又在给我什么结果,它不应该考虑这个空间,有人能帮我解决这个问题吗?你可以像下面这样修复你的regexp:
select * from post where content REGEXP '^q+$';
此正则表达式表示字符串以q开头,在字符串结束之前仅包含1个或多个q符号
在上进行测试您可以修复regexp,如下所示:
select * from post where content REGEXP '^q+$';
此正则表达式表示字符串以q开头,在字符串结束之前仅包含1个或多个q符号
在上测试,尝试使用此^q+?![\s]+$正则表达式
上面的RegExp将检查以q开头且没有空格的字符串。尝试使用此^q+?![\s]+$正则表达式
上面的RegExp将检查以q开头且没有空格的字符串。您不需要使用regex。字符串函数可能更有效。您可以用空字符串替换所有Q,并确保生成的字符串为空:
select * from post where replace(content, 'q', '') = ''
请注意,这也允许使用空字符串。如果您想避免这种情况,那么:
select * from post where content <> '' and replace(content, 'q', '') = ''
你真的不需要正则表达式。字符串函数可能更有效。您可以用空字符串替换所有Q,并确保生成的字符串为空:
select * from post where replace(content, 'q', '') = ''
请注意,这也允许使用空字符串。如果您想避免这种情况,那么:
select * from post where content <> '' and replace(content, 'q', '') = ''
您的表达式仅以q开头,与“q%”之类的内容基本相同。你们的具体规格是什么?q*呢^q表示匹配必须以q开头。您的表达式仅以q开头,与“q%”等内容基本相同。你们的具体规格是什么?q*呢^q表示比赛必须以q开始。