Я играл с этим заданием здесь: Станция наблюдения за погодой 12
И я попытался отправить этот ответ:
SELECT DISTINCT CITY FROM STATION
WHERE CITY NOT REGEXP '^[aeiouAEIOU].*[aeiouAEIOU]$'
Я знаю, что этот ответ работает(вдохновленный этим очень похожим вопросом ):
SELECT DISTINCT CITY FROM STATION
WHERE CITY NOT RLIKE '^[aeiouAEIOU]' AND CITY NOT RLIKE '[aeiouAEIOU]$'
... Но я не мог написать принятый ответ в одном регулярном выражении.Кто-нибудь может объяснить почему?
Что он ищет в
Как отметил комментатор, для написания вышеупомянутой страницы требуется вход в систему.Так что ради хороших мер я добавлю здесь, что он ищет среди 500 названий городов, таких как (каждое в своей строке в базе данных):
Kissee Mills, Loma Mar, Sandy Hook, Tipton, Arlington, Turner, Slidell, Negreet, Glencoe, Chelsea, Chignik Lagoon, Pelahatchie, Hanna City, Dorrance, Albany, Monument, Manchester, Prescott, Graettinger, Cahone, Sturgis, Upperco, Highwood, Waipahu, Bowdon, Tyler, Watkins, Republic, Millville, Aguanga, Bowdon Junction, Morenci, South El Monte
Различия междурегулярные выражения
И я слышал, что есть небольшие отличия в регулярных выражениях от одного языка к другому (PHP, JavaScript, Perl, MySQL, Ruby и т. д.).Но я не могу найти страницу, которая объясняет, каковы эти различия.Я мог бы сесть и прочитать документацию по каждому языку и дать перекрестную ссылку на него, но нет ли места, где он был бы обобщен?
Добавление: Я пришел из мира PHP, и каждый раз, когда я пишу регулярное выражение в MySQL, возникает сомнение: «Это одна из тех вещей, которыеразные?'.В идеале я искал место, где я мог бы убить это сомнение.Тем более, что это так сложно для Google, потому что регулярные выражения настолько пунктуальны.