регулярные выражения текстовой панели

Пожалуйста, дайте мне несколько советов по удалению символов новой строки перед алфавитами и игнорированию строк, начинающихся с >. например:

>gi|16802049|ref|NP_463534.1| chromosomal replication initiation protein [Listeria monocytogenes EGD-e]
MQSIEDIWQETLQIVKKNMSKPSYDTWMKSTTAHSLEGNTFIISAPNNFVRDWLEKSYTQFIANILQEIT
GRLFDVRFIDGEQEENFEYTVIKPNPALDEDGIEIGKHMLNPRYVFDTFVIGSGNRFAHAASLAVAEAPA
KAYNPLFIYGGVGLGKTHLMHAVGHYVQQHKDNAKVMYLSSEKFTNEFISSIRDNKTEEFRTKYRNVDVL
LIDDIQFLAGKEGTQEEFFHTFNTLYDEQKQIIISSDRPPKEIPTLEDRLRSRFEWGLITDITPPDLETR
IAILRKKAKADGLDIPNEVMLYIANQIDSNIRELEGALIRVVAYSSLVNKDITAGLAAEALKDIIPSSKS
QVITISGIQEAVGEYFHVRLEDFKAKKRTKSIAFPRQIAMYLSRELTDASLPKIGDEFGGRDHTTVIHAH
EKISQLLKTDQVLKNDLAEIEKNLRKAQNMF

>gi|16802050|ref|NP_463535.1| DNA polymerase III subunit beta [Listeria monocytogenes EGD-e]
MKFVIERDRLVQAVNEVTRAISARTTIPILTGIKIVVNDEGVTLTGSDSDISIEAFIPLIENDEVIVEVE
SFGGIVLQSKYFGDIVRRLPEENVEIEVTSNYQTNISSGQASFTLNGLDPMEYPKLPEVTDGKTIKIPIN
VLKNIVRQTVFAVSAIEVRPVLTGVNWIIKENKLSAVATDSHRLALREIPLETDIDEEYNIVIPGKSLSE
LNKLLDDASESIEMTLANNQILFKLKDLLFYSRLLEGSYPDTSRLIPTDTKSELVINSKAFLQAIDRASL
LARENRNNVIKLMTLENGQVEVSSNSPEVGNVSENVFSQSFTGEEIKISFNGKYMMDALRAFEGDDIQIS
FSGTMRPFVLRPKDAANPNEILQLITPVRTY

должен идти по прямой линии, а новая строка перед строками, начинающимися с '>', не должна удаляться. Я старался

\n^[a-z]

но он также удаляет первый алфавит каждой строки. Возможно ли сделать то же самое, не удаляя первый алфавит каждой строки и игнорируя строки, начинающиеся с «>». Такс заранее. Я ищу код для textpad.


person The Last Word    schedule 27.06.2013    source источник


Ответы (2)


Вы можете использовать это регулярное выражение

 [\r\n]+(?=[a-zA-Z])

и замените его на empty string

OR

[\r\n]+([a-zA-Z])

и замените его на \1 или $1 в зависимости от того, что работает

person Anirudha    schedule 27.06.2013
comment
@ potterbond007 вы установили флажок регулярного выражения - person Anirudha; 27.06.2013
comment
да, у меня есть .. Я сейчас пытаюсь сделать то же самое с Perl. У вас есть идея регулярного выражения, которое делало бы то же самое в Perl. - person The Last Word; 27.06.2013
comment
Эти выражения Анирудха работают, однако оказывается, что последняя версия Textpad для Windows неправильно обрабатывает регулярные выражения. Предыдущие версии не пробовал. Я установил приложение и попытался найти что-то такое же простое, как [A-Z], которое было прямо из руководства, и это тоже не удалось. Я рекомендую отказаться от textpad в пользу чего-то вроде notepad++, который лучше поддерживает регулярные выражения. - person Ro Yo Mi; 27.06.2013
comment
Спасибо за совет. Я обязательно посмотрю. - person The Last Word; 28.06.2013

Я решил это, используя регулярные выражения в Perl. для тех, кому нужно что-то подобное в будущем

use warnings;

print "Please enter the name of the file\n";
my $n =<STDIN>;

print "Please enter the name of the output file\n";
my $n1=<STDIN>;

open(INFO,"$n") or die "cannot open";
@a = <INFO>;

#print @a;

foreach(@a)
    {
        $_ =~ s/\n//g;
        $_ =~ s/>/\n>/g;
    }
#print @a;
open (MYFILE, ">$n1");
print MYFILE @a;
close(MYFILE);
close(INFO);

Это очень просто.

person The Last Word    schedule 28.06.2013