regex - Perl RegEx 删除字符串中的双字符而不是双数字
问题描述
我正在使用 Perl RegExp 尝试删除双字符和双数字。但是,我只想删除双字符并在同一字符串中保留双数字。
尽管有几个示例显示删除双字符,但没有示例显示删除双字符并在字符串中保留双数字。
我的代码:
#! /usr/bin/perl
use v5.10.0;
use warnings;
my $double = "AAPPLES112233";
$double =~ s/(.)\1/$1/gi;
say $double;
我的代码输出 APLES123。然而,目标是输出 APLES112233,消除双字符,同时将双数字保持在同一字符串中。
解决方案
而不是 using .
,它几乎匹配任何字符(包括字母和数字),[a-z]
而是使用,它将仅匹配字母字符:
$double =~ s/([a-z])\1/$1/gi;
推荐阅读
- javascript - 选中复选框时,将文本框值乘以 0.9
- python - 为日期和时间分配数值
- http - 类型“HTTP”上不存在属性“setServerTrustMode”。(插件-高级-HTTP)
- hyperledger-fabric - 签名集不满足策略
- xamarin.forms - Xamarin Forms 在哪里更改 Android 和 IOS 的 StatusBar
- javascript - 有没有办法用我的例子来做后台任务?
- iis - Jmeter:IIS 服务器停止响应
- javascript - “appendListItem”中的错误 - 谷歌插件
- java - Application.yml 值自动转换为小写
- javascript - react-export-excel 出口太慢