【发布时间】:2009-11-19 14:37:41
【问题描述】:
我有一个带有字符串行的表格。 我想搜索那些仅由 两个字。
我尝试了几种方法 [[:space:]] 等,但 mysql 正在返回 三、四字串也
【问题讨论】:
我有一个带有字符串行的表格。 我想搜索那些仅由 两个字。
我尝试了几种方法 [[:space:]] 等,但 mysql 正在返回 三、四字串也
【问题讨论】:
试试这个:
select * from yourTable WHERE field REGEXP('^[[:alnum:]]+[[:blank:]]+[[:alnum:]]+$');
链接中的更多详细信息: http://dev.mysql.com/doc/refman/5.1/en/regexp.html
【讨论】:
^\w+\s\w+$ 应该做得很好。
注意;我最近几天更经常遇到的是几乎没有人使用^$-operators。
如果您想判断一个字符串是否以某事物开头或结尾,或者想像您一样逐字逐句地完全匹配该字符串,则绝对需要它们。 “普通”字符串,就像您使用的那样(我假设您使用了类似 \w[:space]\w 匹配 in the string,这意味着如果条件为 true 字符串中的任何位置,它们也匹配强>!
请记住这一点,Regex 将为您提供良好的服务:)
【讨论】:
REGEXP ('^[a-z0-9]*[[:space:]][a-z0-9]*$')
【讨论】: