JavaScript 正規表現が座標の抽出に失敗するのはなぜですか?それを修正するにはどうすればよいですか?
JavaScript 正規表現の誤動作について
JavaScript で、開発者は、正規表現 (regex) からポイントを抽出するように設計された問題に遭遇しました。与えられた文字列。正規表現パターンは、形式 (緯度、経度) の座標ペアを照合しようとしましたが、テスト文字列と組み合わせて使用すると結果が生成されませんでした。
開発者は RegexPal で正規表現パターンを正しくテストしました。期待通りの結果が得られました。ただし、パターンが JavaScript で実装されると、予想される一致配列ではなく null が返されました。
解決策: バックスラッシュのエスケープと正規表現リテラルの使用
Toこの問題を解決するには、開発者は 2 つの調整を行う必要がありました。まず、JavaScript で RegExp オブジェクトを使用する場合、正規表現パターンを区切るスラッシュ (/) を式の一部として含めないでください。
次に、JavaScript 文字列ではバックスラッシュ文字 () が特別な意味を持ちます。 。したがって、正規表現パターンを文字列として定義する場合、各バックスラッシュを別のバックスラッシュを使用してエスケープする必要があります。
あるいは、開発者は、より簡潔で便利なオプションである正規表現リテラルを使用することもできます。正規表現リテラルは、次のようにパターンをスラッシュで囲むことによって表されます。
var reg = /\(\s*([0-9.-]+)\s*,\s([0-9.-]+)\s*\)/g;
正規表現パターンを理解する
座標ペアの一致を目的とした提供された正規表現パターン各座標の前後にオプションの空白を入れて括弧で囲みます。パターンは 3 つのキャプチャ グループで構成されます:
- (s*([0-9.-] )s* は開き括弧に一致し、その後にオプションの空白が続き、緯度座標をグループとしてキャプチャします。 .
- 、座標を区切るカンマと一致します。
- s*([0-9.-] )s* は、カンマの後のオプションの空白と一致し、経度座標を別のグループとしてキャプチャします。
g 修飾子により、パターンは入力文字列内のパターンのすべての出現を検索します。
.exec()
In を使用した座標の抽出JavaScript では、.match() メソッドは、入力文字列の一致部分全体を表す文字列の配列を返します。ただし、この特定の使用例では、個々の座標ペアを抽出するには、代わりに .exec() メソッドを使用する必要があります。
.exec() メソッドは値の配列を返します。最初の要素は一致した部分文字列全体で、後続の要素はキャプチャされたグループです。
座標を抽出するには、開発者は、一致するものがなくなるまで繰り返し .exec() を呼び出すことができます。毎回、返される配列の 2 番目と 3 番目の要素には、それぞれ緯度と経度の座標が含まれます。
実装例
var reg = /\(\s*([0-9.-]+)\s*,\s([0-9.-]+)\s*\)/g;
このコードは、入力文字列から座標ペアを抽出し、配列の配列としてポイント配列に格納します。各内部配列には緯度と経度の座標が含まれます。
以上がJavaScript 正規表現が座標の抽出に失敗するのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

この記事では、ソースマップを使用して、元のコードにマッピングすることにより、Minified JavaScriptをデバッグする方法について説明します。ソースマップの有効化、ブレークポイントの設定、Chrome DevtoolsやWebpackなどのツールの使用について説明します。

エントリーレベルのタイプスクリプトチュートリアルをマスターしたら、TypeScriptをサポートするIDEで独自のコードを作成し、JavaScriptにコンパイルできるはずです。このチュートリアルは、TypeScriptのさまざまなデータ型に飛び込みます。 JavaScriptには、NULL、未定義、ブール値、数字、文字列、シンボル(ES6によって導入)とオブジェクトの7つのデータ型があります。 TypeScriptはこれに基づいてより多くのタイプを定義し、このチュートリアルではすべてを詳細に説明します。 ヌルデータ型 JavaScriptのように、Typescriptのnull

この記事では、Javaのコレクションフレームワークの効果的な使用について説明します。 データ構造、パフォーマンスのニーズ、スレッドの安全性に基づいて、適切なコレクション(リスト、セット、マップ、キュー)の選択を強調しています。 コレクションの使用を効率的に最適化します

このチュートリアルでは、chart.jsを使用してパイ、リング、およびバブルチャートを作成する方法について説明します。以前は、4つのチャートタイプのchart.js:ラインチャートとバーチャート(チュートリアル2)、およびレーダーチャートと極地域チャート(チュートリアル3)を学びました。 パイとリングチャートを作成します パイチャートとリングチャートは、さまざまな部分に分かれている全体の割合を示すのに理想的です。たとえば、パイチャートを使用して、サファリの男性ライオン、女性ライオン、若いライオンの割合、または異なる候補者が選挙で受け取る票の割合を示すことができます。 パイチャートは、単一のパラメーターまたはデータセットの比較にのみ適しています。パイチャートのファンの角度はデータポイントの数値サイズに依存するため、パイチャートは値のあるエンティティをゼロ値で描画できないことに注意してください。これは、割合がゼロのエンティティを意味します
