【问题标题】:Regexp MySql- Only strings containing two wordsRegexp MySql- 仅包含两个单词的字符串
【发布时间】:2009-11-19 14:37:41
【问题描述】:

我有一个带有字符串行的表格。 我想搜索那些仅由 两个字。

我尝试了几种方法 [[:space:]] 等,但 mysql 正在返回 三、四字串也

【问题讨论】:

    标签: mysql regex


    【解决方案1】:

    试试这个:

    select * from yourTable WHERE field REGEXP('^[[:alnum:]]+[[:blank:]]+[[:alnum:]]+$');
    

    链接中的更多详细信息: http://dev.mysql.com/doc/refman/5.1/en/regexp.html

    【讨论】:

      【解决方案2】:

      ^\w+\s\w+$ 应该做得很好。

      注意;我最近几天更经常遇到的是几乎没有人使用^$-operators。

      如果您想判断一个字符串是否以某事物开头或结尾,或者想像您一样逐字逐句地完全匹配该字符串,则绝对需要它们。 “普通”字符串,就像您使用的那样(我假设您使用了类似 \w[:space]\w 匹配 in the string,这意味着如果条件为 true 字符串中的任何位置,它们也匹配强>!

      请记住这一点,Regex 将为您提供良好的服务:)

      【讨论】:

      • 发生了。至于 "^\w\s\w+$" 它没有显示结果。我得到了mysql 5.0,也许这就是原因。
      【解决方案3】:
       REGEXP ('^[a-z0-9]*[[:space:]][a-z0-9]*$')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-22
        • 1970-01-01
        • 1970-01-01
        • 2022-11-19
        • 1970-01-01
        • 1970-01-01
        • 2020-02-19
        相关资源
        最近更新 更多