Perl RegEx删除字符串中的双精度字符而不是双精度数字

时间:2018-09-09 05:51:15

标签: regex perl

我正在使用Perl RegExp,它试图删除两个双精度字符和双精度数字。 但是,我只想删除双精度字符并在同一字符串中保留双精度数字。

尽管有几个示例显示删除双精度字符,但没有示例显示删除双精度字符并在字符串中保留双精度数字。

我的代码:

#! /usr/bin/perl
use v5.10.0;
use warnings;

my $double = "AAPPLES112233";
$double =~ s/(.)\1/$1/gi;
say $double;

我的代码输出APLES123。但是,目标是输出APLES112233,消除双精度字符,同时将双精度数字保留在同一字符串中。

1 个答案:

答案 0 :(得分:1)

与其使用.(它几乎匹配任何字符(包括字母和数字),而不是使用[a-z],它仅匹配字母字符)来

$double =~ s/([a-z])\1/$1/gi;