ホームページ ウェブフロントエンド jsチュートリアル JavaScript正規表現定義(文法)まとめ_JavaScriptスキル

JavaScript正規表現定義(文法)まとめ_JavaScriptスキル

May 16, 2016 pm 03:21 PM
javascript 正規表現

この記事では、JavaScript の正規表現の定義 (文法) について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

正規表現を定義するには 2 つの方法があります。1 つは RegExp() を直接呼び出す方法で、もう 1 つはリテラルを使用して直接定義する方法です (var re = /正規ルール/;

)

どちらの定義メソッドも基本的に RegExp() メソッドを呼び出します

同じ通常のコードを呼び出した場合、ECMAScript3 と ECMAScript5 では動作がまったく異なります

function reg(){
 var re = /\sjavascript/;
 return re;
}

ログイン後にコピー

ECMAScript3 と ECMAScript5 でそれぞれ reg() メソッドを複数回呼び出します

ECMAScript3 では同じ RegExp オブジェクトが呼び出されますが、ECMAScript5 では、EXCMAScript5 で実行されるたびに新しい RegExp オブジェクトが生成されるため、別の RegExp オブジェクトが呼び出されます

ECMAScript3 のプログラムには隠れた危険が存在します。オブジェクトが 1 か所で変更される限り、このオブジェクトを呼び出すすべての場所が変更されるからです。

1. 直接的な文字

は通常、

などの正規表現内の文字に直接一致します。

/javascript/
文字 javascript

に直接一致します。

は、次のような文字以外の文字のマッチングもサポートします。

NUL 文字 (u0000)

t タブ文字 (u0009)

n 改行文字 (u000A)

v 垂直タブ (u000B)

f フォームフィード文字 (u000C)

r キャリッジリターン文字 (u000D)

xnn 16 進数 nn で指定されるラテン文字。たとえば、x0A は次と同等です。

uxxxx 16 進数 xxxx で指定された Unicode 文字。たとえば、u0009 は

と同等です。

cX 制御文字 ^X (たとえば、cJ) は改行文字 n

と同等です。

正規表現には、''

でエスケープする必要がある特別な意味を持つ句読点がいくつかあります。

^$.* ?=!:|/()[]{}

2. 文字クラス

[...] 角括弧内の任意の文字

[^...] 角括弧内にない文字

。任意の文字

w [a-zA-Z0-9]

に相当する、ASCII 文字で構成される任意の単語

W ASCII 文字で構成されていない単語。[^a-zA-Z0-9]

に相当します。

の Unicode 空白

S Unicode 以外の空白文字。w と S は異なることに注意してください

d [0-9]

に相当する任意の ASCII 値

D [^0-9]

に相当する、ASCII 数字を除く任意の文字

[b] バックスペース リテラル (特殊なケース)

3. 繰り返し(回数)

0 回または 1 回

1 回以上

* 何度でも

{n} n 回

{m,n} 最小 m 回、最大 n 回

{n,} n 回以上

正規表現のデフォルトは貪欲一致です

[a b ] など、aaabb に一致させたい場合、ab、aab などには一致せず、aaabb のみに一致します

[a ?b ?] これは aaab と一致します。なぜこのような違いがあるのでしょうか?

答え: ? 通常の非貪欲マッチングを作成しましょう。その場合、ここでは b は 1 つの b にのみ一致します。では、なぜ a は 3 に一致するのでしょうか?これは、正規表現のパターン マッチングでは常に文字列内で最初に一致する可能性のある位置を検索するためです。

4. グループ化 |

| は、ab または cd のいずれかに一致するオプションの文字を区切るのに使用されます。注: : 選択された項目の照合の順序は左→右です。 [a|ab]、a が一致すると、ab の方が一致する場合でも、ab は一致しません

() 1. 個々の項目は部分式として扱われます /java(script)?/ javascript と java に一致します。つまり、括弧の部分が部分式を形成し、部分式

2. 完全なパターン内のサブパターンを定義します。後者は括弧で囲まれた式を参照できます。/(['"])[a-z]1/ 1 は最初の括弧内の式を参照するため、Quoted [ '"]

3. 後ろにある前の部分式を参照します

: /['"][a-z]['"]/ この正規表現は、一重引用符または二重引用符に小文字を加えたものを意味します。引用符または二重引用符の前後の単一引用符と二重引用符が一致しない場合は、 [(['"])[a-z]1] のように記述できます。

数字を追加します。前の括弧内の式を引用できます。

5. マッチング位置(アンカーポイント)を指定します

^ 文字列の先頭と一致します。複数行の検索では、行の先頭と一致します。

$ 文字列の末尾と一致します。複数行の検索では、行の末尾と一致します。

b 単語の境界に一致します。つまり、文字 w と W の間の位置、または文字 w と文字列の先頭または末尾の間の位置です。

B 非単語境界の位置と一致します

(?=p) ゼロ幅前方先読みアサーションでは、次の文字が p に一致する必要がありますが、p に一致する文字を含めることはできません

(?!p) ゼロ幅の負の先読みアサーションでは、次の文字が p に一致しないことが必要です

6. 修飾子

は正規表現リテラルの右側に記述されます //

大文字と小文字を区別しないマッチングを実行します

g はグローバル一致を実行します。つまり、最初の一致が見つかった後に停止するのではなく、すべての一致が見つかります

m 複数行の一致パターン、^ は行の先頭と文字列の先頭に一致、$ は行の末尾と文字列の末尾に一致 /java$/m は javafunc に一致します

注意: 正規表現がグローバルの場合、exec() および test() が実行されるたびに、現在設定されている lastIndex が現在の位置に設定されるため、lastIndex の位置から実行が開始されます。実行するたびに lastIndex を 0 に設定するのが最善です。

この記事が JavaScript プログラミングのすべての人に役立つことを願っています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP 正規表現の検証: 数値形式の検出 PHP 正規表現の検証: 数値形式の検出 Mar 21, 2024 am 09:45 AM

PHP 正規表現の検証: 数値形式の検出 PHP プログラムを作成する場合、ユーザーが入力したデータを検証する必要がよくあります。一般的な検証の 1 つは、データが指定された数値形式に準拠しているかどうかを確認することです。 PHP では、正規表現を使用してこの種の検証を行うことができます。この記事では、PHP 正規表現を使用して数値形式を検証する方法を紹介し、具体的なコード例を示します。まず、一般的な数値形式の検証要件を見てみましょう。 整数: 0 ~ 9 の数字のみが含まれ、プラスまたはマイナス記号で始めることができ、小数点は含まれません。浮動小数点

正規表現を使用して Golang でメールアドレスを検証するにはどうすればよいですか? 正規表現を使用して Golang でメールアドレスを検証するにはどうすればよいですか? May 31, 2024 pm 01:04 PM

正規表現を使用して Golang で電子メール アドレスを検証するには、次の手順に従います。 regexp.MustCompile を使用して、有効な電子メール アドレス形式と一致する正規表現パターンを作成します。 MatchString 関数を使用して、文字列がパターンと一致するかどうかを確認します。このパターンは、次のようなほとんどの有効な電子メール アドレス形式をカバーします。 ローカル ユーザー名には文字、数字、および特殊文字を含めることができます: !.#$%&'*+/=?^_{|}~-` ドメイン名には少なくとも次の文字が含まれている必要があります。 1 文字の後に文字、数字、またはハイフンを続けます。トップレベル ドメイン (TLD) は 63 文字を超えることはできません。

PHP 正規表現: 厳密な一致とあいまいな包含の除外 PHP 正規表現: 厳密な一致とあいまいな包含の除外 Feb 28, 2024 pm 01:03 PM

PHP 正規表現: 完全一致と除外 ファジー包含正規表現は、プログラマがテキストを処理する際に効率的な検索、置換、フィルタリングを実行できる強力なテキスト マッチング ツールです。 PHP では、正規表現は文字列処理やデータ マッチングにも広く使用されています。この記事では、PHP で完全一致を実行し、あいまい包含操作を除外する方法に焦点を当て、具体的なコード例を使用して説明します。完全一致 完全一致とは、バリエーションや余分な単語ではなく、正確な条件を満たす文字列のみと一致することを意味します。

Go で正規表現を使用してタイムスタンプを照合するにはどうすればよいですか? Go で正規表現を使用してタイムスタンプを照合するにはどうすればよいですか? Jun 02, 2024 am 09:00 AM

Go では、正規表現を使用してタイムスタンプを照合できます。ISO8601 タイムスタンプの照合に使用されるような正規表現文字列をコンパイルします。 ^\d{4}-\d{2}-\d{2}T \d{ 2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ 。 regexp.MatchString 関数を使用して、文字列が正規表現と一致するかどうかを確認します。

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

Goで正規表現を使用してパスワードを確認するにはどうすればよいですか? Goで正規表現を使用してパスワードを確認するにはどうすればよいですか? Jun 02, 2024 pm 07:31 PM

Go で正規表現を使用してパスワードを検証する方法は次のとおりです。 パスワードの最小要件 (小文字、大文字、数字、特殊文字を含む少なくとも 8 文字) を満たす正規表現パターンを定義します。 regexp パッケージの MustCompile 関数を使用して正規表現パターンをコンパイルします。 MatchString メソッドを使用して、入力文字列が正規表現パターンと一致するかどうかをテストします。

JavaScript で HTTP ステータス コードを簡単に取得する方法 JavaScript で HTTP ステータス コードを簡単に取得する方法 Jan 05, 2024 pm 01:37 PM

JavaScript で HTTP ステータス コードを取得する方法の紹介: フロントエンド開発では、バックエンド インターフェイスとの対話を処理する必要があることが多く、HTTP ステータス コードはその非常に重要な部分です。 HTTP ステータス コードを理解して取得すると、インターフェイスから返されたデータをより適切に処理できるようになります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法と、具体的なコード例を紹介します。 1. HTTP ステータス コードとは何ですか? HTTP ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが

Golangで正規表現を使用してURLを検出するにはどうすればよいですか? Golangで正規表現を使用してURLを検出するにはどうすればよいですか? May 31, 2024 am 10:32 AM

正規表現を使用して Golang で URL を検出する手順は次のとおりです。 regexp.MustCompile(pattern) を使用して正規表現パターンをコンパイルします。パターンは、プロトコル、ホスト名、ポート (オプション)、パス (オプション)、およびクエリ パラメーター (オプション) と一致する必要があります。 regexp.MatchString(pattern,url) を使用して、URL がパターンと一致するかどうかを検出します。

See all articles