使用Perl正则表达式搜索并替换一定长度的字符串

dgB*_*gBP 2 regex perl replace

我试图搜索并替换长度为3个字符的字符串,没有任何内容(所以'删除'元素内容).

所以我有类似的东西:

foreach (@array) {
   s/^{1,3}$//;
}
Run Code Online (Sandbox Code Playgroud)

例如

@array = ('one', 'two', 'three', 'four', 'five', 'six', 'seven');
Run Code Online (Sandbox Code Playgroud)

因此,在打印时,预期输出将是:

result:  result:  result: three  result: four  result: five  result:  result: seven
Run Code Online (Sandbox Code Playgroud)

因此,对于受影响的输入,输出将是"空位".

目前这还没有发生......我打赌我犯了一个简单的错误,因为我对正则表达式的理解仍然不稳定.任何帮助赞赏!

如果有一种简单的方法可以在不创建新数组的情况下完全删除元素,那么知道这一点也很有用.

sku*_*ukt 5

如果你想匹配任何三个字符,s/^.{1,3}$//应该工作.我刚刚添加了一个点^,因为你的原始正则表达式没有指定你想要匹配的1-3个字符.