Mysql Regex Problem

0

Я хочу найти только те строки, чей столбец "col" c не содержит символов из a-1. Поэтому я не знаю, как написать script. Мне удалось написать script, который является противоположным этому. Спасибо в Advance.

select * 
  from tbl_comment c 
 where c.`message` regexp '{a-z}';

Мне нужен script, который будет противоположным этому. Я пробовал "не регулярное выражение", но он не работает.

  • 0
    A a-1 - опечатка в вашем вопросе? Это должно быть az ?
Теги:

2 ответа

2
Лучший ответ

Вам нужны квадратные скобки, а не скобки:

SELECT *
FROM tbl_comment c
WHERE c.`message` NOT REGEXP '[a-z]'

Вам также нужно быть осторожным, что вы имеете в виду. Вышеупомянутое соответствует любой строке, которая не содержит букв в a-z. Если вместо этого вы хотите сопоставить строки, содержащие хотя бы один символ не в a-z, тогда вам это нужно:

SELECT *
FROM tbl_comment c
WHERE c.`message` REGEXP '[^a-z]'
1

Попробуйте:

select * from tbl_comment c where c.message regexp '[^A-Z]'

или

select * from tbl_comment c where c.message not regexp '[A-Z]'

Спецификаторы класса символов должны находиться в квадратных скобках.

(Я предполагаю, что вы имели в виду "A-Z", а не "A-1" )

Ещё вопросы

Сообщество Overcoder
Наверх
Меню