2016-07-19 4 views
0
my $BestMatch = "CGGAGCTTTACGAGCCGTAGCCCAAACA"; 
    if ($Sequence -~ m/$BestMatch/){ 

Есть ли способ изменить регулярное выражение только для поиска первых 6 букв в последовательности $ BestMatch? Мне нужно сохранить переменную $ BestMatch в регулярном выражении, мне просто нужно ее изменить.
Примеры, которые я нахожу в Интернете, не используют переменную, а скорее всю ее последовательность. Моя проблема в том, что $ BestMatch изменится для каждого файла, открытого в цикле foreach, и поэтому не может быть жестко запрограммирован. Спасибо за помощь!Поиск регулярных выражений только с частью переменной

ответ

0

Попробуйте что-то вроде:

my$substr = substr($BestMatch,0,6); 

if ($Sequence -~ m/\Q$substr/){ 

    # ... whatevs .... 

} 

Конечно, если это только простое совпадение строк, вам не нужно даже не использовать регулярное выражение; просто используйте the index() function.

Смежные вопросы