この記事では、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 プログラミングのすべての人に役立つことを願っています。
はい、JavaScriptのエンジンコアはCで記述されています。1)C言語は、JavaScriptエンジンの開発に適した効率的なパフォーマンスと基礎となる制御を提供します。 2)V8エンジンを例にとると、そのコアはCで記述され、Cの効率とオブジェクト指向の特性を組み合わせて書かれています。3)JavaScriptエンジンの作業原理には、解析、コンパイル、実行が含まれ、C言語はこれらのプロセスで重要な役割を果たします。

JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。

CおよびJavaScriptは、WebAssemblyを介して相互運用性を実現します。 1)CコードはWebAssemblyモジュールにコンパイルされ、JavaScript環境に導入され、コンピューティングパワーが強化されます。 2)ゲーム開発では、Cは物理エンジンとグラフィックスレンダリングを処理し、JavaScriptはゲームロジックとユーザーインターフェイスを担当します。

JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。

Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。

CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ホットトピック









