Я пытаюсь использовать регулярные выражения, чтобы определить, какой формат применял пользователь при вводе ввода в текстовое поле.
Ниже приведены регулярные выражения:
(\\s?[" + alphabet + "]{9,9})+
Чтобы определить, является ли ввододна или несколько строк длиной 9 в данном алфавите, возможно, разделенных пробелами.
(>[\\w\\s]+\\n[" + alphabet + "\\s]+)+
Чтобы проверить, имеет ли ввод значение FASTA
Регулярные выражениябегите ужасно медленно при совпадении с inputString.matches(regexString)
.Почему это так?
Я подумал, что это может быть связано с тем, что Java хранит все потенциальные совпадения (которые мне не нужны на данный момент), но добавление ?:
в каждой скобке нарушает регулярное выражение.Как это сделать?
Спасибо,
Мартин
Редактировать 1: Мне не удалось воспроизвести эту проблему - это происходит только на одномкомпьютер.Это может указывать на то, что что-то не так с этой конкретной настройкой виртуальной машины.
Нам нужно что-то более надежное, поэтому мы будем реализовывать это по-другому.Я выбрал правильный ответ Джоэла, так как считаю, что причиной может быть какой-то особый случай в Pattern.