读光栅网格文件到@grid
含有任意数,像。连续的正则表达式替换分隔值
82 8 98 98 42 12 3342 321 34 34 09434 9232
(以及更多的那些行的)。
在此,我确实希望替换一些数字,例如34和42. 但是只有单个分隔的数字!例如。我不想更换34 3342
因此,对于数字美元(搜索,如34)和$ b(替换,如42),我的做法是
s/(^|\s)$a(\s|$)/$1$b$2/g for @grid;
但这只是取代每隔一秒连续发生一次(如34 34 34 34
=>42 34 42 34
),因为后缀\s
不被考虑为下一个模式的前缀。
是否有解决这个问题的方法,除了把这些命令中的两个连接起来(这对大数组来说很慢)?
相当优雅的解决方案,但'/ e'似乎性能较差。 – Martin