Вы можете использовать
^(?:[^qQ]|.{2,})$
См. Демонстрацию регулярных выражений и график регулярных выражений :
![enter image description here](https://i.stack.imgur.com/nhma2.png)
Подробности
^
- начало строки (?:
- начало группы без захвата: [^qQ]
- любой символ, кроме q
или Q
|
- или .{2,}
- любые 2 символа (кроме символов перевода строки для двигателей NFA))
)
- конец группы $
- конец строки.
Для соответствия строке, которая имеетнет "
или '
в нем с использованием приведенного выше регулярного выражения, вам нужно использовать
^(?:[^qQ'"]|[^'"]{2,})$
^^ ^^^^^
, где [^'"]
соответствует любому символу, но '
и "
.