#regex
#регулярное выражение
Вопрос:
Здравствуйте, я пытаюсь использовать регулярные выражения в программе Java. Я хотел бы, чтобы регулярное выражение идентифицировало строку неизвестной длины, символами которой являются только ‘C’, ‘A’, ‘G’ или ‘T’. Спасибо за вашу помощь.
Ответ №1:
Легко, просто используйте класс символов:
[CAGT]
Или если вся строка должна состоять из символов CAGT, чтобы она соответствовала:
^[CAGT] $
Комментарии:
1. Вся строка должна состоять только из ‘C’, ‘A’, ‘T’ или ‘G’
Ответ №2:
Добавление к вышесказанному :
^[CAGTcagt] $
Для обеспечения обнаружения символов нижнего и верхнего регистра.
Комментарии:
1. разве флаг / i не позаботился бы об этом?
Ответ №3:
Я не согласен с ответом, за который проголосовали больше всего. При [ACGT]
большая строка приведет к значительному использованию памяти. Поэтому я бы использовал вместо этого отрицаемое регулярное выражение и проверил, не содержит ли строка вместо этого символов, отличных от [ACGT]:
str !~ [^ACGTacgt]