(看着其他类似的问题和答案并受到恐吓 - 因此,如果这是一个多余的和/或过于简单的问题,请问你的原谅。)
需要提取运算符所包含的子字符串,例如<begin>
和<end>
。
示例:
Irrelevant text is here <begin>the substring I am looking for<end> other irrelevant text
为了简单起见,如果有几个匹配,我只需要第一个匹配。
P.S。我提取的字符串是23:59:59;00
形式的时间,然后我需要将其与系统时间进行比较,如果不匹配超过一分钟,则生成警报,计算结束时间(例如上述时间)足够接近00:00:15;45
,不应该是一个例外。但我想这应该是一个单独的问题?
答案 0 :(得分:4)
my $text = "Irrelevant text is here <begin>the substring I am looking for<end> other irrelevant text";
my ($string) = $text =~ /<begin>(.*?)<end>/ or warn "Pattern did not match";
答案 1 :(得分:1)
my $text = "Irrelevant text is here <begin>the substring I am looking for<end> other irrelevant text";
my $string = $& if $text =~ /<begin>\K.*?(?=<end>)/;