我正在尝试使用正则表达式在较长的字符串中查找字符串(参见附加示例)。我目前在 Vi 工作。我使用的正则表达式是 [CT]A...T(粗体表示使用的字符串)。我只想找到 [ 字符固定范围内的示例。我试过使用 [CT]A...T.{5,10}[ 但这没有用,[CT]A...T.{5,10 }[。我也试过 [CT]A...T.[.....-......-.......-.......-...... ..][ 没有成功,因为我猜 [.*] 在正则表达式中不好。我现在没有想法,在互联网上找不到任何其他东西。
编辑 我想要的是仅在 [ 字符上游找到正则表达式 [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
最佳答案
我相信以下正则表达式应该适合您:
[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[
关于regex - 在正则表达式中指定范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22999182/