my $example=<<EO_STR;
Start
text1
text2
text3 Text4
Text5 text6
text7
End
EO_STR
在以下示例中。我想提取开始和结束之间的所有文本(知道文本提取的文本包含空格和换行符,然后返回charriot)
我尝试了此方法,但是它不起作用:
$example=~m/start\s+(.*?)\s+end/i
答案 0 :(得分:1)
行尾,即\n
是空白,因此可以简单地写为
$example =~ /(?i:start)([\w\s]+)(?i:end)/
start
和end
必须区分大小写吗?您的示例表明正则表达式可以简化为:
$example =~ /Start([\w\s]+)End/
答案 1 :(得分:0)
感谢大家,我设法找到了解决方法
$example=~m/start([a-zA-Z0-9\p{P}\p{S} \s]*)end/i;