ホームページ ウェブフロントエンド jsチュートリアル JavaScriptの正規表現を簡潔にまとめ_基礎知識

JavaScriptの正規表現を簡潔にまとめ_基礎知識

May 16, 2016 pm 04:53 PM
javascript regexp 正規表現

1. 正規表現の定義方法

正規表現を定義するには、コンストラクター定義と正規表現リテラル定義の 2 つの方法があります。例:

コードをコピー コードは次のとおりです。
var reg1 = new RegExp('d{ 5, 11} '); // コンストラクターを通じて
を定義します var reg2 = /d{5, 12}/; // 直接量を通じて
を定義します

正規表現リテラル文字
o: NUL 文字 (u0000)
t: タブ文字 (u0009)
n: 改行文字 (u000A)
v: 垂直タブ文字 (u000B)
f: 改ページ文字 (u000C)
r: 復帰文字 (u000D)
xnn: 16 進数 nn で指定されるラテン文字 たとえば、x0A はと等価です。
uxxxx: 16 進数 xxxx で指定された Unicode 文字。たとえば、u0009 は
🎜> と同等です。 ^: 文字列の先頭と一致します。複数行の検索では、行の先頭と一致します。
$ : 文字列の末尾と一致します。複数行検索の場合は、行の末尾と一致します。
b: 単語と一致します。 境界とは、要するに、文字 w と W の間の位置、または文字間の位置です。 w および文字列の先頭または末尾 ([b] はバックスペース文字と一致します)
B: 単語境界以外の位置と一致します
(?=p): ゼロ幅の正の先読みアサーション。 p に一致する文字は次の文字に一致しますが、p に一致する文字は含まれません
(?!p): ゼロ幅の負の先読みをアサートし、次の文字列が p
に一致しないことを要求します
正規表現文字クラス
[...]: 角括弧内の任意の文字
[^...]: 角括弧内ではない 角括弧内の任意の文字
.: 改行およびその他の Unicode 行終端文字を除く任意の文字
w: 任意ASCII 文字で構成される単語 ([a-zA-Z0-9]
に相当) W: ASCII 文字で構成されない単語 ([^a-zA-Z0-9]
に相当) s: 任意Unicode 空白文字
S: 任意の非 Unicode 空白文字、w と S に注意してください 異なる
d: 任意の ASCII 数値、[0-9]
D: ASCII 数字を除く任意の文字、同等to [^0-9]
[b]: バックスペース 直接数量 (特殊な場合)
正規表現の繰り返し文字構文
{n, m}: 前の項目と少なくとも n 回一致しますが、そうではありませんm 回以上
{n, }: 前の項目と n 回以上一致
{n}: 前の項目と n 回一致
?: 前の項目と 0 回または 1 回一致。前の項目はオプションです。{0, 1}
に相当します。: 前の項目に 1 回以上一致します。{1, }
に相当します。 *: 前の項目に 0 回以上一致します。{0, 1} に相当します。 }
正規表現 式の選択、グループ化、参照文字
|: 選択、記号の左側または右側の部分式と一致
(...): 組み合わせ、複数の項目を 1 つのユニットに結合すると、このユニットは「*」、「」、「?」、「|」などの記号で変更でき、このグループに一致する文字列を後で使用するために記憶できます
(? : ...): 組み合わせのみ、項目を 1 つのユニットに結合しますが、シャッフル
に一致する文字を記憶しません。 n: n 番目のグループの最初に一致した文字に一致します。グループは括弧内の部分式です (場合によっては)。入れ子にすることもできます)、グループ インデックスは左から右への左括弧の数です。「(?:」の形式でグループ化はエンコードされません
正規表現修飾子
i: 大文字と小文字を区別しないマッチングを実行します
g: グローバル一致を実行します。つまり、最初の一致を見つけた後に停止するのではなく、すべての一致を検索します。
m: 複数行一致モード、^ は行の先頭と文字列の先頭に一致し、$ は行の終わりと文字列の終わり
パターン マッチングのための文字列メソッド
search(): そのパラメーターは正規表現で、最初に一致した部分文字列の開始位置を返します。 -1が返されます。 search() のパラメータが正規表現でない場合、search() は修飾子 g を無視するため、グローバル検索をサポートしません。例:

コードをコピー コードは次のとおりです:

var s = "JavaScript".search(/script/i) // s = 4

;

replace(): 取得と置換を実行するために使用されます。 2 つのパラメータを受け取ります。1 つ目は正規表現で、2 つ目は置換される文字列です。修飾子 g が正規表現に設定されている場合は、グローバル置換が実行されます。それ以外の場合は、最初に一致した部分文字列のみが置換されます。最初の引数が正規表現でない場合、文字列は正規表現に変換されずに直接検索されます。例:

コードをコピー コードは次のとおりです。
var s = "JavaScript".replace( /java/gi , "スクリプト") // s = スクリプト スクリプト

Match(): そのパラメータは正規表現です。そうでない場合は、RegExp を通じて変換され、一致する結果で構成される配列が返されます。修飾子 g が設定されている場合、グローバル一致が実行されます。例:

コードをコピー コードは次のとおりです:
var d = '55 ff 33 hh 77 tt'.match (/d /g); // d = ["55", "33", "77"]

split(): このメソッドは、それを呼び出す文字列を部分文字列の配列に分割するために使用されます。使用される区切り文字は、split() のパラメータであり、そのパラメータは正規表現にすることもできます。例:

コードをコピー コードは次のとおりです:
var d = '123,31,453,645'。 split(', '); // d = ["123", "31", "453", "645"]
var d = '21, 123, 44, 64, 67, 3'.split( /s*, s*/) // d = ["21", "123", "44", "64", "67", "3"]

2. RegExp オブジェクト
各 RegExp オブジェクトには 5 つの属性があります。ソース属性は、正規表現のテキストを含む読み取り専用の文字列です。グローバル属性は、この正規表現に修飾子 g が付いているかどうかを示す読み取り専用のブール値です。属性ignoreCaseは、この正規表現に修飾子iが付いているかどうかを示す読み取り専用のブール値です。 multiline 属性は、この正規表現に修飾子 m が付いているかどうかを示す読み取り専用のブール値です。 lastIndex 属性は、読み取りおよび書き込み可能な整数です。一致するパターンに g 修飾子がある場合、この属性は文字列全体内の次の検索の開始位置を格納します。
RegExp オブジェクトには 2 つのメソッドがあります。 exec() のパラメータは文字列であり、その機能は match() と似ています。exec() メソッドは指定された文字列に対して正規表現を実行します。つまり、文字列内で一致検索を実行します。一致が見つからない場合は、null が返されます。一致が見つかった場合は、この配列の最初の要素に正規表現に一致する文字列が含まれ、残りの要素は一致した部分文字列です。正規表現に修飾子 g があるかどうかを判断すると、同じ配列が返されます。 exec() を呼び出す正規表現オブジェクトに修飾子 g がある場合、現在の正規表現オブジェクトの lastIndex プロパティを、一致した部分文字列のすぐ隣の文字位置に設定します。同じ正規表現を使用して exec() を再度呼び出すと、 lastIndex 属性で示された文字列からの取得が開始され、一致する結果が見つからなかった場合は、lastIndex が 0 にリセットされます。例:

コードをコピー コードは次のとおりです。
var p = /Java/g;
var text = "JavaScript は Java よりも楽しいです!"
var r;
while((r = p.exec(text)) != null) {
console.log(r, ' lastIndex: ' p .lastIndex);
}

もう 1 つのメソッドは test() で、パラメータは文字列です。正規表現の一致する結果が含まれている場合は、test() を使用して true を返し、それ以外の場合は false を返します。例:

コードをコピー コードは次のとおりです。
var p = /java/i;
p.test('javascript') // true
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の 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 の数字のみが含まれ、プラスまたはマイナス記号で始めることができ、小数点は含まれません。浮動小数点

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 関数を使用して、文字列が正規表現と一致するかどうかを確認します。

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

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

簡単な 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 メソッドを使用して、入力文字列が正規表現パターンと一致するかどうかをテストします。

漢字フィルタリング: PHP 正規表現の練習 漢字フィルタリング: PHP 正規表現の練習 Mar 24, 2024 pm 04:48 PM

PHP は広く使用されているプログラミング言語であり、特に Web 開発の分野で人気があります。 Web開発の過程では、ユーザーが入力したテキストをフィルタリングして検証する必要がよくありますが、その中でも文字フィルタリングは非常に重要な操作です。この記事では、PHP で正規表現を使用して漢字フィルタリングを実装する方法と、具体的なコード例を紹介します。まず最初に、Unicode の漢字の範囲は u4e00 から u9fa5 までである、つまりすべての漢字がこの範囲内にあることを明確にする必要があります。

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

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

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

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

See all articles