gpt4 book ai didi

regex - 从文件加载正则表达式并在 Perl 中匹配组

转载 作者:行者123 更新时间:2023-12-04 02:18:18 25 4
gpt4 key购买 nike

我有一个包含正则表达式的文件,例如:

City of (.*)
(.*) State

现在我想阅读这些(逐行),将它们与字符串匹配,然后打印出提取(匹配组)。例如:字符串 City of Berlin 应该与文件中的第一个表达式 City of (.*) 匹配,之后的 Berlin 应该是提取。

这是我目前所得到的:

use warnings;
use strict;

my @pattern;

open(FILE, "<pattern.txt"); # open the file described above
while (my $line = <FILE>) {
push @pattern, $line; # store it inside the @pattern variable
}
close(FILE);

my $exampleString = "City of Berlin"; # line that should be matched and
# Berlin should be extracted

foreach my $p (@pattern) { # try each pattern
if (my ($match) = $exampleString =~ /$p/) {
print "$match";
}
}

我想要打印 Berlin

  • foreach 循环中的正则表达式会发生什么情况?
  • 它没有编译吗?为什么?
  • 还有更好的方法吗?

最佳答案

您的模式包含您需要的换行符 chomp :

while (my $line = <FILE>) {
chomp $line;
push @pattern, $line;
}

关于regex - 从文件加载正则表达式并在 Perl 中匹配组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32719078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com