ホームページ > ウェブフロントエンド > jsチュートリアル > ポイントを照合すると JavaScript 正規表現が Null を返すのはなぜですか?

ポイントを照合すると JavaScript 正規表現が Null を返すのはなぜですか?

Patricia Arquette
リリース: 2024-12-09 14:55:12
オリジナル
756 人が閲覧しました

Why Is My JavaScript Regex Returning Null When Matching Points?

JavaScript 正規表現が機能しない理由

問題:

が発生していますJavaScript のポイントのリストを通常のポイントと照合しようとすると、null の結果が返されます。式。

正規表現:

var reg = new RegExp("/\(\s*([0-9.-]+)\s*,\s([0-9.-]+)\s*\)/g");
ログイン後にコピー

解決策:

  • 正規表現を使用するリテラル:
var reg = /\(\s*([0-9.-]+)\s*,\s([0-9.-]+)\s*\)/g;
ログイン後にコピー
  • RegExp を使用したエラー:

    • 区切り文字 (/) を一部に含めることはできません式の
    • の場合はバックスラッシュをエスケープする必要があります。式は文字列として定義されます。
    • 修飾子は関数の 2 番目の引数として渡す必要があります。

注:

RegExp を使用することもできますが、多くの場合、正規表現を使用する方が便利です。 literals.

値の抽出:

  • .match() は文字列の配列を返しますが、役に立たない可能性があります。
  • .exec () を使用すると、文字列全体が抽出されるまで継続的に数値を抽出できます。処理済み:
var result, points = [];
while((result = reg.exec(polygons)) !== null) {
    points.push([+result[1], +result[2]]);
}
ログイン後にコピー

これにより、抽出された数値を含む配列の配列が作成されます。単項プラス ( ) は文字列を数値に変換します。

以上がポイントを照合すると JavaScript 正規表現が Null を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート