1

次のようなパターンに一致する正規表現を Perl で見つけたい:

my $sumthing = "people say
for -->";

say単一の改行文字がある後、ここにあります。したがって、パターン内に改行を含むようなパターンに一致する正規表現を見つける必要があります。私はPerlと正規表現が初めてなので、これを見つけるのを手伝ってください。

私が試した可能な方法は次のとおりです。

if (($sumthing !~ (/\n+$/)) && ($sumthing !~ (/^\n+/m)))

この種のパターンに一致する式を見つけるのを親切に手伝ってくれますが、期待どおりの出力が得られません。

4

3 に答える 3

2

あなたが何を望んでいるのかは明らかではありません。その文字列を正確に一致させますか? もしそうなら、あなたは使うことができます

$sumthing =~ /^people say\nfor -->\z/

また

$sumthing eq "people say\nfor -->"

または、知っておく必要があるのは、使用.時に改行を含む任意の文字に一致すること/sですか?

/people .* -->/s
于 2012-12-06T19:04:01.683 に答える
0

改行を含め、何にでも一致/sさせる修飾子を見てください。.

my $str = "people say for\nsomething...";
$str =~ m{say(.*)}s and print "'$1'\n";

これは次のように表示されます。

' for
something...'
于 2012-12-06T19:01:49.713 に答える
0

以下は、何か、改行、そして何かをチェックします。あなたの質問を完全に理解したかどうかわかりません。

if($sumthing =~ m/.*\n.*/)
于 2012-12-06T19:09:19.110 に答える