Я ищу строку типа Cityname, State в таблице mysql, где имя штата состоит из двух букв - PullRequest
0 голосов
/ 16 апреля 2010

Я ищу строку типа Cityname, State (например, Moline, IL) в таблице mysql. Как я могу сделать запрос, используя регулярное выражение в MySQL.

Ответы [ 2 ]

2 голосов
/ 16 апреля 2010

В MySQL есть оператор REGEXP, который должен делать то, что вам нужно:

11.4.2.Регулярные выражения

1 голос
/ 16 апреля 2010

Вы можете попробовать что-то вроде:

select foo from bar where foo REGEXP '[a-zA-Z ]+,\s*(AL|AK|AS|AZ|AR|CA|CO|CT|DE|DC|FM|FL|GA|GU|HI|ID|IL|IN|IA|KS|KY|LA|ME|MH|MD|MA|MI|MN|MS|MO|MT|NE|NV|NH|NJ|NM|NY|NC|ND|MP|OH|OK|OR|PW|PA|PR|RI|SC|SD|TN|TX|UT|VT|VI|VA|WA|WV|WI|WY)'

Предполагается, что действительные названия городов будут состоять из прописных / строчных букв A-Z и, возможно, включать один или несколько пробелов. Вы можете добавить другие допустимые символы к названию города в первом наборе [ ] скобок.

Чтобы узнать, какие функции регулярных выражений поддерживаются MySQL, см. Столбец POSIX ERE в http://www.regular -expressions.info / refflavors.html

Regex Объяснение

NODE                     EXPLANATION
--------------------------------------------------------------------------------
  [a-zA-Z ]+               any character of: 'a' to 'z', 'A' to 'Z',
                           ' ' (1 or more times (matching the most
                           amount possible))
--------------------------------------------------------------------------------
  ,                        ','
--------------------------------------------------------------------------------
  \s*                      whitespace (\n, \r, \t, \f, and " ") (0 or
                           more times (matching the most amount
                           possible))
--------------------------------------------------------------------------------
  (                        group and capture to \1:
--------------------------------------------------------------------------------
    AL|AK|AS|...             'AL' or 'AK' or 'AS' or ... 
                             (valid state abbreviations)
--------------------------------------------------------------------------------
  )                        end of \1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...