正则表达式匹配任何内容,包括换行符

Regular expression match anything including newlines

我有这样的字符串:

/* Remove */
"REMOVE" = "Löschen \
";

而且我有正则表达式来匹配“”=“”之间的字符串

"(\S+)"\s*=\s*"(.*?[\w\r\n]).*?";

如果字符串中有更多换行符,我必须添加什么来匹配,例如:

/* Remove */
"REMOVE" = "Lös \
ch \
en \
";

也许是这样:

(.*)"\s*=\s*"((?:.|\n)*)

Regex live here.

您可以只使用 (.*?) 和一个 dotall 标志,使点也可以匹配换行符:

(?s)"(\S+)"\s*=\s*"(.*?)"

观看演示 ​​https://regex101.com/r/vM3tG6/2

您可以使用这个正则表达式:

"(\S+)"\s*=\s*"([^"]*)";

RegEx Demo

[^"]* 是否定模式,将匹配除双引号之外的任何字符(包括换行符)。