我有一排包含字符串的表。 我想搜索那些仅包含的字符串 两个字。
我尝试了[[:space:]]等几种方法,但是mysql正在返回 三,四个字串也
答案 0 :(得分:2)
试试这个:
select * from yourTable WHERE field REGEXP('^[[:alnum:]]+[[:blank:]]+[[:alnum:]]+$');
链接中的更多细节: http://dev.mysql.com/doc/refman/5.1/en/regexp.html
答案 1 :(得分:1)
^\w+\s\w+$
应该做得很好。
请注意;我在最后几天经常遇到的是,没有人使用^$
- 运营商。
如果你想告诉一个字符串是以某个字符串开头还是以某个字符串结尾,或者想要一致一个字符串地匹配字符串,那么它们绝对是必需的。 “正常”字符串,就像你使用的那样(我假设你在字符串中使用\w[:space]\w
匹配,这意味着如果条件为真,它们也匹配字符串中的任何位置强>!
记住这一点,Regex将为您提供良好的服务:)
答案 2 :(得分:0)
REGEXP ('^[a-z0-9]*[[:space:]][a-z0-9]*$')