ワイルドカード: .
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
ワイルドカードは改行文字を除くすべての文字に一致します。s
フラグが設定された場合は、改行文字にも一致します。
構文
.
解説
.
は改行文字を除くあらゆる文字に一致します。s
フラグが設定された場合、.
は改行文字にも一致します。
.
に一致する正確な文字の集合は、正規用言がUnicode 対応モードであるかによります。Unicode 対応モードでは、.
はあらゆる Unicode コードポイントに一致します。それ以外の場合は、あらゆる UTF-16 コード単位に一致します。例えば次のようになります。
/../.test("😄"); // true。サロゲートペアとして 2 つの UTF-16 コード単位に一致します。/../u.test("😄"); // false。1 つの Unicode 文字しかありません。
例
数量詞の使用
ワイルドカードはしばしば数量詞と共に使用され、次に関心がある文字が得られるまで、任意の文字列に一致します。 例えば、次の例では Markdown ページのタイトルを# Title
という形で抽出します。
function parseTitle(entry) { // タイトルがファイルの始めにはない可能性があるので、複数行モードを使用する。 // m フラグは . を行末に一致させないので、タイトルは単一の行になければ // ならないことに注意する // 最初のキャプチャグループに一致したテキストを返す。 return /^#[ \t]+(.+)$/m.exec(entry)?.[1];}parseTitle("# Hello world"); // "Hello world"parseTitle("## Subsection"); // undefinedparseTitle(`---slug: Web/JavaScript/Reference/Regular_expressions/Wildcard---# Wildcard: .A **wildcard** matches all characters except line terminators.`); // "Wildcard: ."
コードブロックのコンテンツの照合
次の例は Markdown の 3 つのバックスティックで囲まれたコードブロックの内容に一致します。コードブロックの内容が複数行にまたがる可能性があるため、.
を改行と一致させるためにs
フラグを使用しています。
function parseCodeBlock(entry) { return /^```.*?^(.+?)\n```/ms.exec(entry)?.[1];}parseCodeBlock(`\`\`\`jsconsole.log("Hello world");\`\`\``); // "console.log("Hello world");"parseCodeBlock(`A \`try...catch\` statement must have the blocks enclosed in curly braces.\`\`\`js-nolint example-badtry doSomething();catch (e) console.log(e);\`\`\``); // "try\n doSomething();\ncatch (e)\n console.log(e);"
警告:この例はあくまでデモンストレーションのためのものです。 Markdown を解析したい場合は、考慮すべきエッジケースがたくさんあるため、専用の Markdown パーサーを使用してください。
仕様書
Specification |
---|
ECMAScript® 2026 Language Specification # prod-Atom |