0

正規表現$START_REGEXの出現から$END_REGEXまでのテキストを印刷するにはどうすればよいですか?

#!/usr/bin/perl -w

use strict;
use warnings;

package HTMLStrip;
use base "HTML::Parser";
use LWP::Simple;

my $START_REGEXP = 'To the current program';
my $END_REGEXP = 'Please choose';

sub text {
    my ($self, $text) = @_;
    print $text;
}

my $p = new HTMLStrip;
$p->parse_file("index.html");
$p->eof
4

1 に答える 1

1

グループを使用して、2つのフレーズの間の値を取得できます。

To the current program(.*)Please choose

次に、値がに保存されます$1,$2, etc

これがルーブラです

よりperl-cut-and-pasteである何かのために(このSOの質問から

my @values = ($text=~/$START_REGEXP(.*)$END_REGEXP/gm);
print "The first value is $values[0]\n";

私はPERL開発者ではないので、外挿しています。ある種の構文がオフになっている場合は、独自の調査を行う必要があります。

于 2012-05-17T20:26:37.253 に答える