5

我正在使用这个正则表达式来查找基因组中的模式。

$string =~ /(?i)a+t?|(?i)t+/g

为了使输出更易于阅读,我想对其进行修改,以便将匹配的任何 4 到 7 个字符长的内容大写。它也不应该弄乱$+[0]or$-[0]变量。

我做输出的方式是从较大的字符串文件中获取一个子字符串,基于'$ + [0]'和'$ + [0]'我不想打印出我正在打印的正则表达式匹配输出大量的校正器,我希望匹配能够脱颖而出。

如果你真的需要查看我正在编写的代码,你可以在这里获取

4

1 回答 1

11

通过适当的测试(对于您的匹配和长度(可能需要带有像 {4,7} 这样的量词的字符组),没有示例内容,这留给您),您可以使用 eval 替换s/(match)/uc($1)/eg,它将获取匹配的字符串并使其大写然后用替换替换匹配。

一如既往地阅读更多perldoc perlre perldoc perlreref perldoc perlretut

作为旁注,我一直想知道基因组是否适合Regexp::Grammars

于 2011-06-28T15:38:25.237 回答