正则表达式匹配字符串中的EOL字符

时间:2011-10-12 12:58:21

标签: regex eol

我正在尝试找到双引号之间出现的LF字符。我正在搜索的文本文件具有此格式的字段值对

    msgid "text 1"
    msgstr "text 2"

我正在尝试查找LF字符是否出现在文本1或文本2字符串中。我试过"[^"\r\n]*\n[^"\r\n]*" 但它只是选择了" msgstr "

1 个答案:

答案 0 :(得分: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