ホームページ ウェブフロントエンド jsチュートリアル JavaScript学習メモ(8) 正規表現_基礎知識

JavaScript学習メモ(8) 正規表現_基礎知識

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

基本概念

正規表現は、通常の文字 (a と z の間の文字など) と特殊文字 (「メタ文字」と呼ばれる) の両方を含むテキスト パターンです。パターンは、テキストを検索するときに一致する 1 つ以上の文字列を記述します。

まず、いくつかの正規表現エディタをお勧めします
デバッグエクス: https://www.debuggex.com/
PyRegex:http://www.pyregex.com/
正規表現: http://www.regexper.com/

正規表現は、検索および文字列置換操作です。正規表現はテキスト エディタで広く使用されています。たとえば、次のような正規表現が使用されます。 [コピー] 本文中に指定した特徴語が含まれているか確認します
テキスト内で一致する特徴語の位置を検索します
テキストから次のような情報を抽出します: 文字列
の部分文字列
テキストを変更

説明: 正規表現は通常、1. 検証、2. 検索/置換の 2 つのタスクに使用されます。検証に使用する場合、通常、検証する文字列全体と一致させるために、前後に ^ と $ を追加する必要があります。また、検索要件によっては、この制限を追加するかどうかも異なります。 ^ と $ の代わりに b の前後に追加します。この表に記載されている一般的に使用される正規表現には、一部を除いて制限がありません。必要に応じて独自に処理してください。

優先順位

正規表現を構築した後は、数式のように評価できます。つまり、左から右に優先順位に従って評価できます。 次の表は、さまざまな正規表現演算子の優先順位を最高の優先順位から最低の優先順位までリストしています:

正規表現の作成

正規表現の構築は、数式の作成と同じです。つまり、さまざまなメタ文字と演算子を使用して小さな式を組み合わせて、より大きな式を作成します。
正規表現は、表現パターンのさまざまなコンポーネントを区切り文字のペアの間に配置することによって構築できます。

JScript の場合、区切り文字は 1 組のスラッシュ (/) 文字です。例:
/式/

VBScript の場合、正規表現の境界を決定するために一対の引用符 ("") が使用されます。例:

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

「式」

例を見てみましょう

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

// 一致するアカウントが合法かどうか (文字で始まり、5 ~ 16 バイトが許可され、英数字のアンダースコアが許可されます

var re =new RegExp("^[a-zA-Z][a-zA-Z0-9_]{5,19}$");
if(re.test(aaaa)){
alert("正しい形式");
}その他{
alert("フォーマットエラー");
}

正規表現のコンポーネントは、単一の文字、文字のコレクション、文字の範囲、文字間の選択、またはこれらすべてのコンポーネントの任意の組み合わせにすることができます。

一般的に使用される正規表現

漢字に一致する正規表現: [u4e00-u9fa5]
コメント: 中国語のマッチングは本当に面倒です。この表現を使えば簡単になります。

全角文字 (漢字を含む) に一致: [^x00-xff]
コメント: 文字列の長さの計算に使用できます (全角文字の長さは 2 としてカウントされ、ASCII 文字の長さは 1 としてカウントされます)

空白行に一致する正規表現: ns*r
コメント: 空白行の削除に使用できます

HTML タグに一致する正規表現: <(S*?)[^>]*>.*?|<.*?
コメント: インターネット上で流通しているバージョンはあまりにもひどいもので、上記のバージョンは一部しか一致せず、複雑な入れ子のタグには依然として無力です

先頭および末尾の空白文字に一致する正規表現: ^s*|s*$
コメント: 行頭と行末の空白文字 (スペース、タブ、フォーム フィードなどを含む) を削除するのに使用できます。非常に便利な式

電子メール アドレスに一致する正規表現: w ([- .]w )*@w ([-.]w )*.w ([-.]w )*
コメント: フォームの検証に非常に役立ちます

URL に一致する正規表現: [a-zA-z]://[^s]*
コメント: インターネット上で流通しているバージョンは機能が非常に限られており、基本的には上記のバージョンでニーズを満たすことができます。

一致するアカウントは合法ですか (文字で始まり、5 ~ 16 バイトが使用可能、英数字のアンダースコアが使用可能): ^[a-zA-Z][a-zA-Z0-9_]{4,15}$

コメント: フォームの検証に非常に役立ちます

国内の電話番号と一致します: d{3}-d{8}|d{4}-d{7}

コメント: 0511-4405222 や 021-87888822
などの一致する形式

Tencent QQ 番号と一致します: [1-9][0-9]{4,}

コメント: Tencent QQ アカウントは 10000 から始まります

中国の郵便番号に一致: [1-9]d{5}(?!d)

コメント: 中国の郵便番号は 6 桁の数字です

一致する ID カード: d{15}|d{18}

コメント: 中国の ID カードは 15 桁または 18 桁です

一致する IP アドレス: d .d .d .d

コメント: IP アドレスを抽出するときに役立ちます

特定の番号と一致する

[copy] ^[1-9]d*$ // 正の整数と一致します
^-[1-9]d*$ // 負の整数と一致します
^-?[1-9]d*$ //整数と一致
^[1-9]d*|0$ // 負でない整数 (正の整数 0) と一致します
^-[1-9]d*|0$ // 正でない整数(負の整数は 0)と一致する
^[1-9]d*.d*|0.d*[1-9]d*$ //正の浮動小数点数と一致します
^-([1-9]d*.d*|0.d*[1-9]d*)$ //負の浮動小数点数と一致する
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0 |0)$ // 浮動小数点数と一致
^[1-9]d*.d*|0.d*[1-9]d*|0?.0 |0$ //非負の浮動小数点数(正の浮動小数点数0)と一致する
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0 |0$ //非正の浮動小数点数(負の浮動小数点数)と一致0)

コメント: 大量のデータを処理する場合に役立ちます。特に適用する場合は修正に注意してください

特定の文字列と一致

[copy]^[A-Za-z] $ //26 個の英字で構成される文字列と一致します
^[A-Z] $ // 26 個の大文字の英字で構成される文字列と一致します
^[a-z] $ // 26 個の小文字の英字で構成される文字列と一致します
^[A-Za-z0-9] $ // 数字と 26 個の英字で構成される文字列と一致します
^w $ // 数字、26 文字の英字、またはアンダースコアで構成される文字列と一致します

コメント: 最も基本的でよく使用される表現のいくつか

マインドマップ

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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 の数字のみが含まれ、プラスまたはマイナス記号で始めることができ、小数点は含まれません。浮動小数点

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

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

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の使用

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

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

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 ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが

See all articles