Skip to main content

正規表現

@serverSerrverlesskiy

正規表現. regular expressions) — メタ文字の使用に基づいて、テキスト内の文字列を検索および操作するための形式言語。

正規表現を使用すると、次のことができます。

  • 文字列内のテキストを検索します
  • 文字列内の部分文字列を置き換えます
  • 文字列から情報を抽出します

search

JavaScript, と一緒に から Perl, これは、正規表現のサポートが言語に直接組み込まれているプログラミング言語の1つです。

使いにくい

the complexity of using

正規表現の欠点は、それらがしばしば奇妙で威圧的にさえ見えることです。これは、より複雑なテンプレートに特に当てはまります。.

let regExp = /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/

正規表現の定義

search

正規表現の定義は、文字列の処理が行われることに基づいてテンプレートを作成することです。に JavaScript 正規表現は、2つの方法で定義できるオブジェクトです。

リテラルを使用した正規表現の定義。正規表現の場合、スラッシュはリテラルです / ... /, それらは括弧と同じ役割を果たします ' ... ' 文字列を作成するとき.

let regExp = /テンプレート/

リテラルを使用して正規表現を作成する場合は、そのような作成方法では、指定された値の動的な変更が許可されないことに注意してください。これは、スクリプトが解析されるときに正規表現リテラルがprecompilationを引き起こすという事実によるものです。.

使用する

pressing the button

例を使用して正規表現の使用を見てみましょう。:

let regExp = /banana/

このコードで私たちは文字列を検索する単純な正規表現を作成しました banana. 正規表現をテストするには、次の方法を使用できます。 .test(string), メソッドの結果は次のとおりです。 boolean 値.

Live Editor
Result
Loading...

この例では、正規表現は部分文字列を検索します banana 列をなして str.

アンカー

anchor

アンカーは、パターンを行の最初または最後に結び付けます。行の先頭にバインドするには、 - ^, そして最後までに - $.

Live Editor
Result
Loading...

このようなテンプレートを使用する /banana/ あなたは探しているでしょう banana 全行で。文字列とテンプレートが完全に一致するかどうかを確認する必要がある場合は、アンカーを使用する必要があります /^banana$/. 方法 .test() 戻ります true 行全体が banana.

フラグ

Flag

フラグは、正規表現検索を拡張するために使用されます。

  • g - 検索するときは、すべての一致を検索します。
  • i - 検索では大文字と小文字が区別されません [Z-z];
  • m - マルチラインモード;
  • s - モードをオンにします dotall, その時点で . 改行文字と一致させることができます。
  • y - プロパティの位置にある文字から検索します lastindex 現在の正規表現。
  • u - サポートが含まれています Unicode. 使用する 正規表現パターンを作成するさまざまな方法のフラグ
let regExp = /テンプレート/国旗 // prettier-ignore

フラグは неотъемлемой частью 正規表現。フラグを後で追加または削除することはできません。フラグを組み合わせることもできます。

Live Editor
Result
Loading...

フラグを削除してみてください i 例から.

合計

このトピックは非常に広範であり、開発で使用されることはめったにないため、興味がある場合は、より詳細に理解することができます。 ここに, ここに そしてここ.

問題?

Problem

Discord または電報 チャット, また、私たちの購読 ニュース s

質問と回答

Question

正規表現とは何ですか?

  1. テンプレートの作成
  2. 文字列操作
  3. 文字列の編集

文字通り正規表現を作成するために使用される文字は何ですか?

  1. スラッシュ /
  2. バックスラッシュ \
  3. 角括弧 []

指定された値をさらに動的に変更できない正規表現を作成する方法は何ですか?

  1. 文字通り
  2. コンストラクター内
  3. どの方法でも、動的な変更は許容されます

このレッスンをどれだけ学んだかを理解するために、 モバイルアプリ このトピックについて私たちの学校で.

Sumerian school

リンク

  1. Learn JavaScript
  2. MDN Web Docs
  3. JS RegExp

Contributors ✨

Thanks goes to these wonderful people (emoji key):


IIo3iTiv


Dmitriy Vasilev

💵

Resoner2005

🐛 🎨 🖋

Navernoss

🖋 🐛 🎨

EnglishMoji!