regex - 是否可以使用单个正则表达式将字符数减少一个?

标签 regex perl

我要换&&&&一无所有。永远不会超过 2 个连续 & s。

目前我有:

$m =~s/&&/££%££/g;
$m =~s/&//g;
$m =~s/££%££/&/g;

有没有更好的办法?

最佳答案

试试这个正则表达式:

$m =~ s/&(&?)/$1/g;

在线查看它:ideone

此版本也适用于 2 个以上的符号:
$m =~ s/&(&*)/$1/g;

在线查看它:ideone

关于regex - 是否可以使用单个正则表达式将字符数减少一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8124003/

相关文章:

java - 在java中达到某些字符时分割字符串

PHP 拆分逗号分隔值但保留引号

perl - 好的 IDE 或 Mason 语法高亮编辑器?

Perl 模块使用

regex - Applescript 从 PDF 文件中提取数字对象标识符 (DOI)

python - 如何从 python 中的给定字符串创建子字符串?

regex - 从 curl 的输出中提取模式

regex - 如何匹配除特定字符之外的任何非空白字符?

perl - 如何用 Perl 编写 HTTP 服务器?

web-services - 使用 Perl 构建 Web 服务