在正则表达式中指定范围

时间:2014-04-10 21:16:09

标签: regex linux sed vi

我正在尝试使用正则表达式在更长的字符串中查找字符串(请参阅附带的示例)。我现在在Vi工作。我正在使用的正则表达式是 [CT] A ... T (粗体表示使用的字符串)。我想只找到[字符]固定范围的例子。我曾尝试使用 [CT] A ... T. {5,10} [但这不起作用, [CT] A ... T. {5,10 } [即可。我也试过了 的 [CT]甲...吨。[.....-......-.......-........-....... ..] [没有成功,因为[。*]在正则表达式中不合适我猜。我目前没有想法,也无法在互联网上找到任何其他内容。

EDIT 我想要的是只找到正则表达式[CT] A ... T字符串[字符上游5-10个字符。所以CATAATAATTCC [或TATAATCGACAGAA [。我已经在下面的一些例子中找到了**。

示例集:

AACGGTTGGAGCAGCGTTCACCTGACGC**TATACTGCTTCT[**C]TTTCTTATTGCTCAAACTG
TTCCTGGTTATTTTGCCGCAGGTCAGCG**TATCGTGAACAT[**C]TTTTCCAGTGTTCAGTAGG
AGATAATGCGAAAAAACAGCCTTTCCGG**TACTCTACGGCG[**G]TTTTATCGTCCTGTAGAGA
TGAAACCGTTGTTTATTCATGCGTTGCGATTAACAATACG[C]TTTTCCAGAGAGCGGCTTT
TCGCTTCAATTTCGACCAGCCATCCTCTATTCTGATGGGT[A]TTTACCACTGGTCCCGGAA
AATGGCGAGTAATTGCCAGTTGATCCTGGTATCATCAGAG[C]TTTGCTGCATCTGCTGAAG
AGAAGTGGAATCCCGACTGCATATCGCGTAGTGTAGAACG[G]CCTTTTTTTCGTCAACCGT
TTTCCACACCTAAAATGCTATTTCTGCGATAATAGCAACC[G]TTTCGTGACAGGAATCACG
CCTAGTTTGCTTACGGACTCACAGGGCGTAAACTAGCGCC[G]TTTTTTTAAGTGATGAGAA
TGGCTGTATTTGCCGCACCGCGCAGGTATACTCCTTTCCT[G]GTTTTTTTAATCACTACGT
GAGAATTGACTCCGGAGTGTACAATTATTACAATCCGGCC[T]CTTTAATCACCCATGGCTT
GGCAGTTGGTTGACGGTGAAACGCGTATTAAAATGCCACC[C]TTTACACCCTGGTGGTGAC
TTTTCATCGCTCAAGGCGGGCCGTGTAACGTATAATGCGG[C]TTTGTTTAATCATCATCTA
ACACGATGTCACGGTAACGCCTGTACGGTAAACTATGCGG[G]TTTACGGTCAGTACCCACA
AATCCTTCCTTTCCCCGGCAGCTGGCGTTATGGTCAGATG[G]TTTTTGCAACAAATCTCAC
ACTGTATATTCATTCAGGTCAATTTGTGTCATAATTAACC[G]TTTGTGATCGCCGGTAGCA
CAACATAGTAAAAGCGCTATTGGTAATGGTACAATCGCGC[G]TTTACACTTATTCAGAACG
TTCGGTTGAAAAAGCCGCTATGATCGCCGGATAATCGTTT[G]CTTTTTTTACCACCCGTTT
TATCGTCGGCGTACCAGACGGTGTGTGGTATACTTACGGG[G]TTTTTCTTCATTGTATGGT
CCGCCTTTATTATATTCATACGGGATATTGCTATTGTTTC[T]TTTTCCCTGGGATTTGTCA
AATGCTTGCGCCGCTTCTGACGATGAGTATAATGCCGGAC[A]ATTTGCCGGGAGGATGTAT
GAGTAGCCAGAGTAGCGGCATTGTTGCGGATAATGGTCAG[G]TTTACCTCAGCGGAATGCC
AGTGACTATATTGATCCACAATTGCGTGTATCATAGATGT[T]TTGCCCATCAGGGGCGACC

1 个答案:

答案 0 :(得分:1)

我相信以下正则表达式适合你:

[CT].{5,10}\[

使用egrep:

egrep -o '[CT].{5,10}\[' file
TACTGCTTCT[
TCGTGAACAT[
CTCTACGGCG[
TTAACAATACG[
TTCTGATGGGT[
TATCATCAGAG[
TGTAGAACG[
TAATAGCAACC[
CTAGCGCC[
CTCCTTTCCT[
CAATCCGGCC[
TGCCACC[
TATAATGCGG[
CTATGCGG[
TGGTCAGATG[
CATAATTAACC[
TACAATCGCGC[
TAATCGTTT[
TACTTACGGG[
CTATTGTTTC[
TAATGCCGGAC[
TAATGGTCAG[
TCATAGATGT[