如何在Perl中匹配单个模式并将其替换为多个模式

迪帕克·库尔卡尼

我有一个包含以下信息的文件-输入-

a[1]= something_data_1;
a[2]= something_data_2;
a[3]= something_data_3;

所以我想用下面的不同模式替换“ a”,这里diff *是我要替换的字符串。

输出 -

diff1 [1]= something_data_1;
diff2 [1]= something_data_1;
diff3 [1]= something_data_1;

diff1 [2]= something_data_2;
diff2 [2]= something_data_2;
diff3 [2]= something_data_2;

.....

我试过了:

/usr/bin/perl -w

open(FH,'<',$file_name);
 foreach(<FH>)
  {
    if(/a(\[.*)/)
    {
      $_= "diff1$1 ". "diff2$1";
    }
  }

尝试这个之后,我得到这样的输出,

diff [1] = diff2 something_data;

我不知道该怎么办

格伦·杰克曼

您可能想要类似的东西

chomp(my $line = $_);
if ($line eq "a") {
    $_ = "diff1\ndiff2\ndiff3\n";
}

我假设您还没有chomp编辑过,所以$_换行符仍然排在第3位。您需要捕获“ a”之后的文本,以便可以重新使用它:

if (/^(\s*)a(\[.*)/) {
    $_ = "${1}diff1$2".
         "${1}diff2$2".
         "${1}diff3$2;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在字符串中搜索模式并将其替换为空格?

来自分类Dev

替换File1中的模式,并将其替换为File2中相应的匹配模式+列

来自分类Dev

仅替换为Perl模式的匹配部分

来自分类Dev

如何在Perl中的目录下匹配多个文件的正则表达式模式?

来自分类Dev

如何找到与模式匹配的行并将其删除?

来自分类Dev

评估条件并将其结果绑定到模式匹配中?

来自分类Dev

如何在bash中匹配零个或多个模式实例?

来自分类Dev

如何在Scala中对多个类型进行模式匹配?

来自分类Dev

当模式在变量中时,如何在 perl 中匹配复杂的未知模式?

来自分类Dev

如何检测数据帧单元中的模式并将其转换为NA?

来自分类Dev

从Perl中的字符串中提取匹配的正则表达式模式并将其分配给变量

来自分类Dev

在列表中搜索元素并将其替换为多个项目

来自分类Dev

如何替换多个文件中的某个模式?

来自分类Dev

如何在perl中匹配一行中的单词并将其删除并单独使用?

来自分类Dev

如何在字符串中查找模式并将其提取为数据框的新列

来自分类Dev

如何匹配特定列中的多个模式?

来自分类Dev

如何在NSString中查找特定的unicode字符并将其替换为非unicode字符?

来自分类Dev

将字符串替换为 Python 中的匹配模式

来自分类Dev

使用Regex查找模式并将其替换为已处理的数据

来自分类Dev

读取文本文件,识别模式并将其值替换为Tcl

来自分类Dev

找到模式 (YYYY-MM-DD) 并将其替换为与撇号连接的相同值

来自分类Dev

如何在python中替换特定模式

来自分类Dev

如何合并多个输出并将其存储在单个变量中

来自分类Dev

如何在Java中检查匹配模式

来自分类Dev

如何在 SML 中模式匹配 0.0?

来自分类Dev

如何在单个项目存在的列表理解中减少模式匹配的样板

来自分类Dev

Perl:如何在模式关闭后替换内容

来自分类Dev

Perl-仅在与另一个模式匹配的行中替换模式

来自分类Dev

如何在猫鼬模式中填充一个字段,而该猫鼬模式又被替换为另一个模式,而该模式又被替换为另一个模式?

Related 相关文章

  1. 1

    如何在字符串中搜索模式并将其替换为空格?

  2. 2

    替换File1中的模式,并将其替换为File2中相应的匹配模式+列

  3. 3

    仅替换为Perl模式的匹配部分

  4. 4

    如何在Perl中的目录下匹配多个文件的正则表达式模式?

  5. 5

    如何找到与模式匹配的行并将其删除?

  6. 6

    评估条件并将其结果绑定到模式匹配中?

  7. 7

    如何在bash中匹配零个或多个模式实例?

  8. 8

    如何在Scala中对多个类型进行模式匹配?

  9. 9

    当模式在变量中时,如何在 perl 中匹配复杂的未知模式?

  10. 10

    如何检测数据帧单元中的模式并将其转换为NA?

  11. 11

    从Perl中的字符串中提取匹配的正则表达式模式并将其分配给变量

  12. 12

    在列表中搜索元素并将其替换为多个项目

  13. 13

    如何替换多个文件中的某个模式?

  14. 14

    如何在perl中匹配一行中的单词并将其删除并单独使用?

  15. 15

    如何在字符串中查找模式并将其提取为数据框的新列

  16. 16

    如何匹配特定列中的多个模式?

  17. 17

    如何在NSString中查找特定的unicode字符并将其替换为非unicode字符?

  18. 18

    将字符串替换为 Python 中的匹配模式

  19. 19

    使用Regex查找模式并将其替换为已处理的数据

  20. 20

    读取文本文件,识别模式并将其值替换为Tcl

  21. 21

    找到模式 (YYYY-MM-DD) 并将其替换为与撇号连接的相同值

  22. 22

    如何在python中替换特定模式

  23. 23

    如何合并多个输出并将其存储在单个变量中

  24. 24

    如何在Java中检查匹配模式

  25. 25

    如何在 SML 中模式匹配 0.0?

  26. 26

    如何在单个项目存在的列表理解中减少模式匹配的样板

  27. 27

    Perl:如何在模式关闭后替换内容

  28. 28

    Perl-仅在与另一个模式匹配的行中替换模式

  29. 29

    如何在猫鼬模式中填充一个字段,而该猫鼬模式又被替换为另一个模式,而该模式又被替换为另一个模式?

热门标签

归档