来源: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]
匹配 a
、b
或 c
。
但是,如果该 block 的第一个字符是 ^
,则表示括号之间不是的任何符号:
例如,[^abc]
匹配 d
、e
、?
、\n
(换行)、(空格)等
因此,[^]
表示任何不在空集中的内容,或者同一件事,即整个字符集(这包括 \n
字符)
“常规”点 (.
) 匹配任何内容,除了新行 (\n
)。因此,这相当于 [^\n]
。我说“常规”是因为您可以指定一个选项来使点匹配任何东西。因此,它相当于 [^]
。
关于javascript - JavaScript 正则表达式中的字符集 [^] 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41819358/