javascript是否有一个选项可以使句点与任何字符匹配,包括换行符

Does javascript has an option to make dots match any character, including line breaks?

本文关键字:字符 换行符 包括 任何 有一个 是否 选项 可以使 句点 javascript      更新时间:2024-04-30

例如,我使用

/a.*b/.test('adadfasdfadfasfaf'n'rafafafaf'r'nb')

则返回CCD_ 1。

如果我想匹配换行符和其他字符,我可以使用哪个元字符?

您正在寻找s修饰符,也称为dotall修饰符,它强制点.也与换行符匹配。javascript中不存在dotall修饰符。解决方法是将点.替换为。。。

['S's]*

您可以使用[^]来匹配任何字符,包括新行:

示例:

var s = "test'ning";
var r = s.replace(/s[^]*n/,'X');

查看此演示

我查找了一些数据,发现['s'S]可以匹配所有字符

我刚刚意识到你在明确地谈论JavaScript。。。其中dotall修饰符不存在。正如您已经发现的,您可以使用['s'S]来解决这个问题。


对于RegEx,通常使用dotall修饰符s:

/foo.bar/s

这使得.可以匹配所有内容,甚至换行符。

您可以将换行和回车与['r'n]:匹配

false0


无论是谁决定否决我的"无益"帖子,显然都没有进行任何测试:

请参阅此链接,它显示我的regex正在工作:http://jsfiddle.net/cetanu/p6P7p

在这里:https://www.debuggex.com/r/C5I6PO1TJqUQcTgG