这个perl命令的含义

这个perl命令的含义

我发现了这个命令perl -ne 'print $1 if m/\.([^.\/]+)$/',如果熟悉 perl 的人能简单地告诉我所有语法的含义,我将非常感激,这将节省我自己查找所有内容的大量时间。

多谢!

答案1

  • -n逐行读取输入。
  • [^.\/]是一个字符类,它匹配除点和斜杠之外的所有内容。
  • +意味着该角色应该至少出现一次。
  • \.匹配一个点。
  • $匹配字符串的结尾。
  • (...)创建一个捕获组。
  • 整个m/.../事情是一个正则表达式匹配,它匹配一个点,后面跟着非点和非斜杠,直到字符串末尾。非点非斜线部分被记住在 中$1
  • 如果有匹配,就会打印出来。

相关内容