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

标签 regex perl

我试图反转一个类似于正则表达式的主题。 我的主题示例:TA[TC]AA 当我使用函数(反向)时,它会将 [ 反转为 ],所以我得到了类似的东西:AA]CT[AT 和我想要 AA[CT]AT 之类的东西。

我能为它做些什么?

非常感谢您的帮助!!

最佳答案

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

#! /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;

或者,在 /r 不可用的 5.14 之前:

my $r = reverse $motif;
$r =~ tr/[]/][/;

关于regex - 如何在 Perl 中反转正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46681984/

相关文章:

java - 第一个和第二个 tocen 正则表达式

python - 匹配所有不以 ':' Python 正则表达式开头的单词

perl - 对键包含非字母数字字符的哈希进行排序

perl - Perl 类方法和对象方法

perl - 部署脚本需要更新配置文件中的整数

perl - 打开 STDIN/STDOUT 如何正确处理和使用 utf8 编码?

c# - 用于解析来自 html 代码的链接的正则表达式

java - 正则表达式捕获单行注释

javascript - 非贪婪地隔 ionic 字符串?

regex - 如何在 Perl 替换中替换匹配项之前的所有文本?