regex - 如何在 perl 中搜索和替换字符串中的非字符?
问题描述
我有以下格式数据
$line1 = violation:start:CLK:a1.ID:end:a2.VALUE[22:0]:CLK1
$line2 = violation:start:CLK2:b1.ID[23:45]:end:b2.VALUE[2:03]:CLK3
那么,我如何搜索和替换 [\d+:\d+] 为 [\d+#\d+]
例如:[22:0] 到 [22#0]
请帮我!
解决方案
my $line1 = 'violation:start:CLK:a1.ID:end:a2.VALUE[22:0]:CLK1';
my $line2 = 'violation:start:CLK2:b1.ID[23:45]:end:b2.VALUE[2:03]:CLK3';
for ($line1, $line2) {
s/\[ (\d+) : (\d+) \]/[$1#$2]/gmsx;
}
print "$line1\n$line2\n";
__END__
violation:start:CLK:a1.ID:end:a2.VALUE[22#0]:CLK1
violation:start:CLK2:b1.ID[23#45]:end:b2.VALUE[2#03]:CLK3
推荐阅读
- c# - 反转 XOR 字节移位算法
- c++ - 为什么不使用指针读取结构?
- asp.net-core - 当 ModelState 无效且 ASP.NET Core 确实返回 Page() 时,复选框列表值为空
- twitter-bootstrap - Bootstrap 4 卡网格与 1 大卡对齐问题
- mysql - PARSE_ERROR MySQL
- r - 如何使用R转换列中的行
- postgresql - 由于与数据库的多个连接,Airflow 数据库性能影响
- presto - 如何在 AWS Athena 的查询中创建对已解析字段的引用?
- javascript - Bootstrap 4轮播下一个和上一个按钮在一个页面上不起作用,但在其他页面上工作正常
- java - 如何在 maven 中实现 jacoco/cobertura 并将报告发送到代码 cov