regex - 在 perl 中使用数组元素进行模式匹配

标签 regex perl

不言而喻,我是 Perl 和正则表达式的新手,我正在尝试在 perl 正则表达式中使用数组中的元素。这是片段

my $temp  = $line =~ s/somestring[^\n]*$_// for @myarray;

如果我硬编码字符串而不是 $_ 它工作正常。另外 $_ 单独打印字符串。那我做错了什么?即使是使用 for 循环的扩展版本也不会产生匹配项。

P.S 只是为了澄清数组只有一个元素,我知道它与行匹配。

最佳答案

它应该可以添加括号,虽然我希望数组的内容没有特殊字符,因为您将需要使用 quotemeta 函数来转义它们。

my $temp;
($temp  = $line) =~ s/somestring[^\n]*$_// for @myarray;

关于regex - 在 perl 中使用数组元素进行模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11475438/

相关文章:

regex - Google 电子表格中的转义元字符 [ ] re2

javascript - 将字符串拆分为字母数字和其他字符

python - 在Python中使用正则表达式查找字符串中以给定子字符串开头和结尾的所有字符串

javascript - 正则表达式的拆分字符串在 javascript 中不能正常工作

linux - 解析输出并计算字符串出现的次数

perl - 如何从命令行检查我的系统上是否安装了 Perl 模块?

perl - 使用带有 utf 编码文件的 perl tie::file

multithreading - Perl:信号和线程。如何使用qx()杀死线程

javascript - regex/instr javascript函数来检查url

linux - 使用 Perl 的 telnet 连接出现 "pattern match read eof"错误