2011-10-12 250 views
1

我试图找到出现在双引号之间的LF字符。该文本文件我在寻找具有这种格式的正则表达式匹配字符串中的EOL字符

msgid "text 1" 
    msgstr "text 2" 

字段值对我试图找到,如果LF字符出现的文本1或文本2串内。我曾尝试"[^"\r\n]*\n[^"\r\n]*" ,但它只是拿起" msgstr "

+1

什么正则表达式的味道你使用? –

回答

0

此正则表达式:

if ($subject =~ m/"([^"\r\n]*?[\r\n]+[^"\r\n]*?)"\s*$/m) { 
    $result = $1; 
} 

当应用于这些字符串:

msgid "text 1 " 
msgstr "text 2" 
msgstr "something with new 
line" 

会产生这样的输出:

something with new 
line