- Regular Expression(正規表現) Part12
568 :563[sage]:2014/06/19(木) 23:17:04.59 ID:a52+QUcr - まあこれくらいの題意の汲み取りはESPer能力の範疇だろう。
>>566 Perl 5.18.2では可変長の先読みは未対応というエラーが出るから、諦める。 5.20ではどうなっているのか知らない。 RegEx一発でどうにかしようとせずに、NGキーワード指定のところを変数化して 1. スケートを含む単語を抽出 2. NGキーワードを持つものを弾く という単純な2種類の処理を組み合わせる 下のサンプルは1が終わったものとしてリストとして出発したもの my @ngkeyword = qw(アイス ローラー); my @target = qw(アイススケート ローラースケート スケート フィギュアスケート); foreach my $target (@target) { my $ok = 1; foreach my $ngkeyword (@ngkeyword) { $ok = 0 if $target =~ m/(?<=$ngkeyword)スケート/; } say $target if $ok; }
|