Bio*_*Ram 2 regex string perl concatenation
我有两个字:
AGCGCGATAGC
^^^^
TAGCTATATATA
^^^^
Run Code Online (Sandbox Code Playgroud)
第二个单词TAGC与第一个单词相同.所以我想得到的结果是:
AGCGCGATAGCTATATATA
^^^^
Run Code Online (Sandbox Code Playgroud)
是否有任何结合这些词的Perl功能?使用串联可能会导致重复:
AGCGCGATAGCTAGCTATATATA
^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
一个简单的方法是将字符串与不在字母表中的字符连接在一起:
my $s1 = 'AGCGCGATAGC';
my $s2 = 'TAGCTATATATA';
$_ = "${s1}_$s2"
Run Code Online (Sandbox Code Playgroud)
然后在分隔符的每一侧匹配并替换最长的公共字符串:
s/([ACGT]*)_\1/$1/
Run Code Online (Sandbox Code Playgroud)