我正在阅读一个HTML文件,试图从中获取一些信息。我尝试过HTML解析器,但不知道如何使用它们来获取关键文本。原始版本读取html文件,但这个版本是一个最小的工作示例,用于StackOverflow目的。
#!/usr/bin/env perl
use 5.036;
use warnings FATAL => 'all';
use autodie ':default';
use Devel::Confess 'color';
sub regex_test ( $string, $regex ) {
if ($string =~ m/$regex/s) {
say "$string matches $regex";
} else {
say "$string doesn't match $regex";
}
}
# the HTML text is $s
my $s = ' rs577952184 was merged into
<a target="_blank"
href="rs59222162">rs59222162</a>
';
regex_test ( $s, 'rs\d+ was merged into.*\<a target="_blank".+href="rs(\d+)/');
但是,这不匹配。
我认为问题是“merged into”后面的换行符不匹配。
如何修改上面的正则表达式以匹配$s
?
2条答案
按热度按时间evrscar21#
问题出在
$regex
中的尾随/
字符,应将其省略或更改为"
sr4lhrrt2#
输出量