Javascript正则表达式字符串替换多行字符串
使用JavaScript正则表达式替换,尝试替换Javascript正则表达式字符串替换多行字符串,javascript,regex,replace,multiline,Javascript,Regex,Replace,Multiline,使用JavaScript正则表达式替换,尝试替换和标记之间的任何内容,以便: <head> Multiline foo </head> <body> Multi line bar </body> 多行foo 多线棒 替换为: <body> Multi line bar </body> 多线棒 并尝试使用非常基本的:/m,但它不起作用。当从字符串中删除换行符时,它可以正常工作。无论什么类型的换行符,有
和
标记之间的任何内容,以便:
<head>
Multiline foo
</head>
<body>
Multi line bar
</body>
多行foo
多线棒
替换为:
<body>
Multi line bar
</body>
多线棒
并尝试使用非常基本的:
/m
,但它不起作用。当从字符串中删除换行符时,它可以正常工作。无论什么类型的换行符,有什么神奇之处?问题在于点元字符与换行符不匹配。在大多数正则表达式风格中,您可以通过设置“DOTALL”或“单行”模式来强制它匹配所有内容,但JavaScript不支持这一点。相反,您必须将点替换为与所有内容匹配的内容。最常见的习惯用法是[\s\s]
(“任何空白字符或任何非空白字符”)。艾伦是对的,总结一下,使用/
,它应该可以做你想做的事
我将在作业中使用的实际正则表达式是
/([\s\s]*?)/
,但差异可能无关紧要,因为它只是确保不会有贪婪的匹配,第二个头标记不应该存在:)您还有[\d\d]
和[\w\w]
:Dsee