2016-09-13 5 views
-2

もし私がそれを得れば、最終的なマッチ結果の文字列の一部を除外するために、ポジティブルックアヘッド(?=)と非キャプチャグループ(?:)が使用されます。JavaScript:ポジティブルックアヘッドと非キャプチャグループの違いは何ですか?

ルックアヘッドと非キャプチャグループの違いは何ですか?

誰でも説明できますか?わかりやすい例が望ましい?

+1

どちらも部品を除外しません。先読みは、パターンの一致/失敗を楽しみにしていますが、その後もカーソルは同じ位置にあります。非捕捉グループは、通常は一致しますが、後で参照できるグループには一致しません。 –

答えて

0

肯定的なルックアヘッドはゼロ幅アサーションです。これは、入力を消費しないことを意味する。

/(?=.)./ 

(?=.)部分は、文字列の最初の文字と一致し、.は同じ文字と一致します。一方

/(?:.)./ 

(?:.)一部は(直前のような)文字列の最初の文字と一致しますが、最初の文字が括弧によって消費されていますので、.は、第二の文字と一致します。

+0

素晴らしい。わかった ! :) どうもありがとう。 – mewi

関連する問題