我想在Perl中找到一个匹配模式的正则表达式:
my $sumthing = "people say
for -->";
在say
之后,有一个换行符。所以我需要找到一个正则表达式,它可以匹配这样一个模式,包括模式中的换行符。请帮助我找到这个,因为我是Perl&的新手。正则表达式。
我尝试过的可能方法是:
if (($sumthing !~ (/\n+$/)) && ($sumthing !~ (/^\n+/m)))
他们帮助我找出一个表达式来匹配这种模式,但不能得到所需的输出。
答案 0 :(得分:2)
不清楚你想要什么。你想要完全匹配那个字符串吗?如果是这样,你可以使用
$sumthing =~ /^people say\nfor -->\z/
或
$sumthing eq "people say\nfor -->"
或许你需要知道的是.
匹配任何字符,包括使用/s
时的换行符?
/people .* -->/s
答案 1 :(得分:0)
查看导致.
匹配任何内容的/s
修饰符,包括换行符。
my $str = "people say for\nsomething...";
$str =~ m{say(.*)}s and print "'$1'\n";
这将打印:
' for
something...'
答案 2 :(得分:0)
以下将检查任何内容,然后检查新行。不确定我是否完全理解你的问题。
if($sumthing =~ m/.*\n.*/)