javascript - JavaScript 正则表达式中的字符集 [^] 是什么意思?

标签 javascript regex

来源:MDN link

解释如何使用点字符 (.),文档说:

So to match a pattern across multiple lines, the character set [^] can be used (if you don't mean an old version of IE, of course), it will match any character including newlines.

关于^字符,它说:

Matches beginning of input. If the multiline flag is set to true, also matches immediately after a line break character.

显然^是用来标记哪一个字符开始一行,而不是代表任何类型的字符。所以问题是: [^] 如何匹配包括换行符在内的任何字符?

最佳答案

像这样的 block []表示括号之间的任何符号。

例如,[abc] 匹配 abc

但是,如果该 block 的第一个字符是 ^,则表示括号之间不是的任何符号:

例如,[^abc] 匹配 de?\n (换行)、(空格)等

因此,[^] 表示任何不在空集中的内容,或者同一件事,即整个字符集(这包括 \n 字符)

“常规”点 (.) 匹配任何内容,除了新行 (\n)。因此,这相当于 [^\n]。我说“常规”是因为您可以指定一个选项来使点匹配任何东西。因此,它相当于 [^]

关于javascript - JavaScript 正则表达式中的字符集 [^] 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41819358/

相关文章:

javascript - 带有 Primefaces (JSF) 的 Twitter Bootstrap

javascript - Firefox 会在检索图像时显示它们吗?

javascript - 为什么这个 javascript RegExp 连接不起作用

javascript - 如何使用 JavaScript 检索并显示 Facebook 上的照片?

javascript - 根据折叠元素是否打开更改字形 - Bootstrap

regex - 在 sed 或 awk 中的两个匹配项之间的最后一行之前插入文本

c++ - 正则表达式 - 单词边界失败

Javascript从字符串中搜索具有最大值的元素

regex - 检查 while 循环(shell)内的正则表达式条件

javascript - 如何使用 JavaScript 匹配我所在窗口的当前 URL 中的字符串?