如何在Perl中反转正则表达式

Lee*_*ouh 2 regex perl

我试图扭转一个像正则表达式一样的主题.我的主题的一个例子:TA[TC]AA 当我使用函数(反向)时它将反转[成a ],所以我得到了类似的东西:AA]CT[AT我想要类似的东西AA[CT]AT.

我能做些什么?

非常感谢你的帮助!!

cho*_*oba 5

如果方括号是唯一的问题,请使用音译切换它们:

#! /usr/bin/perl
use warnings;
use strict;
use Syntax::Construct qw{ /r };

use Test::More tests => 1;

my $motif    = 'TA[TC]AA';
my $reversed = 'AA[CT]AT';

is reverse($motif =~ tr/[]/][/r), $reversed;
Run Code Online (Sandbox Code Playgroud)

或者,在5.14之前的地方/r没有:

my $r = reverse $motif;
$r =~ tr/[]/][/;
Run Code Online (Sandbox Code Playgroud)