此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

通配符:.

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

通配符匹配除了行终止符以外的所有字符。如果设置了 s 标志,则也会一同匹配行终止符。

语法

regex
.

描述

. 匹配除行终止符之外的任意字符。若设置 s 标志,. 也会匹配行终止符。

. 匹配的确切字符集取决于正则表达式是否启用 Unicode 感知模式。若启用 Unicode 感知模式,. 匹配任意 Unicode 码位;否则匹配任意 UTF-16 码元。例如:

js
/../.test("😄"); // true;以代理对形式匹配两个 UTF-16 码元
/../u.test("😄"); // false;输入仅有一个 Unicode 字符

示例

与量词配合使用

通配符常与量词配合使用,用于匹配任意字符序列,直至找到下一个目标字符。例如,以下示例提取 Markdown 页面中 # Title 格式的标题:

js
function parseTitle(entry) {
  // 使用多行模式,因为标题可能不在文件开头。
  // 注意 m 标志不会使 . 匹配行结束符,因此标题必须位于单行内。
  // 返回第一个捕获组匹配的文本。
  return /^#[ \t]+(.+)$/m.exec(entry)?.[1];
}

parseTitle("# 你好世界"); // "你好世界"
parseTitle("## 子章节"); // undefined
parseTitle(`
---
slug: Web/JavaScript/Reference/Regular_expressions/Wildcard
---

# 通配符:.

**通配符**匹配除了行终止符的所有字符。
`); // " 通配符:."

匹配代码块内容

以下示例匹配 Markdown 中由三个反引号包围的代码块内容。它使用 s 标志使 . 匹配行终止符,因为代码块内容可能跨越多行:

js
function parseCodeBlock(entry) {
  return /^```.*?^(.+?)\n```/ms.exec(entry)?.[1];
}

parseCodeBlock(`
\`\`\`js
console.log("你好世界");
\`\`\`
`); // "console.log("你好世界");"

parseCodeBlock(`
\`try...catch\` 语句必须将代码块用大括号括起来。

\`\`\`js example-bad
try
  doSomething();
catch (e)
  console.log(e);
\`\`\`
`); // "try\n  doSomething();\ncatch (e)\n  console.log(e);"

警告:这些示例仅用于演示。若需解析 Markdown,请使用专用的 Markdown 解析器,因为存在许多需要考虑的边界情况。

规范

Specification
ECMAScript® 2026 Language Specification
# prod-Atom

浏览器兼容性

参见