Могу ли я извлечь все совпадения с помощью функций, таких как aregexe c? - PullRequest
1 голос
/ 20 февраля 2020

Мне нравится мощная функция aregexe c, которая позволяет мне нечетко добывать струны.

Для этого я могу искать строку нуклеотида "ATGGCTTCGT C" в разделе ДНК с определенным допуском на вставку, удаление и замену.

Тем не менее, он показывает мне только первый матч без завершения всей строки. Например,

Если я запускаю

aregexec("a","adfasdfasdfaa")

, то только первый «а» появится из результата. Я хотел бы увидеть все матчи.

Интересно, есть ли другие более мощные функции или аргумент, который нужно добавить к этой.

Большое спасибо.

PS Я плохо объяснил нечеткий поиск. Я имею в виду, матч не должен быть идеальным. Скажем, если я разрешу замену одного символа, и выполню поиск AATTGG в ctagtactaAATGGGatctgct, то заглавная часть будет считаться совпадением. Я также могу разрешить вставки и удаления определенных символов.

1 Ответ

1 голос
/ 20 февраля 2020

gregexpr будет отображаться каждый раз, когда в строке есть шаблон, как в этом примере.

gregexpr("as","adfasdfasdfaa")

Если вы используете ?grep в R, появится намного больше информации, она объяснит каждый аспект использования регулярных выражений.

...