1

一致させようとしている次の文字列があります。

REQS_HOME->31

次の Javascript コードは、これに一致させようとしています。

pathRegExPattern = '(' + docTypeHome + ')' + '(->)' + '(\d+)';
parsedResult = pathCookieValue.match(pathRegExPattern);
cookieToDelete = docType + '_ScrollPos_' + $3;
alert(parsedResult);  // output - null

次のことを前提とします。

docTypeHome = "REQS_HOME"
pathCookieValue = "REQS_HOME->31"

まず、マッチ関数を適切に呼び出していません。次に、後方参照演算子を使用して数字の値を一致させようとしている値にアクセスするにはどうすればよいですか?

値 31 を抽出する必要があります。

4

1 に答える 1

1

数字一致部分では、バックスラッシュを 2 倍にする必要があります。

pathRegExPattern = '(' + docTypeHome + ')' + '(->)' + '(\\d+)';

文字列部分から正規表現を作成すると、文字列構文自体がバックスラッシュを「食べて」しまいます。したがって、あなたが巻き上げていた正規表現はd+、バックスラッシュなしでちょうどでした。

「31」(または最終的な数字)はparsedResult[3]. これは文字列になることに注意してください。したがって、数値にする必要がある場合は、最初にNumberコンストラクターまたは などを介して変換する必要がありますparseInt()

于 2012-12-27T20:25:22.063 に答える