(私の質問は混乱しているので、下の例/説明を参照してください)サブ表現の数を増やすことなく、サブ表現内の何かのインスタンスをn +にマッチさせる方法はありますか?
大規模な正規表現でたくさんのものをマッチングさせて、一致した部分式を見つけようとしています。問題は、私の部分式のうちの1つに、部分式のインデックスをスローする「コレクション/シーケンス」があるときです。
例えば、下式では、「foo」というのチェックがインデックス3で次のようになります。
/(one)|(two)|(foo)/g
しかし、このいずれかで、それはインデックス4時です(はい、これはダム正規表現ですが、例)フィット:
/(one)|(([tT][wW])?o)|(foo)/g
あなたがしようとすると "foo" を見つけるために、以下のコードを使用した場合は、のようなものを取得したい:
var str = "Some string that only matches foo";
while (match = reg.exec(str))
{
for (var i = 1; i < match.length; i++)
{
//Should be 3 but it's not
if(match[ i ] !== undefined) break;
}
//This won't match foo, because it's now the wrong index
alert(match[ i ]);
}
"regex.exec"で "match"に返されたインデックスに影響を与えずに、サブ式のかっこ内で "1つ以上の"型式を実行するにはどうすればよいですか?
(注:これはどのような方法では不明であるなら、私に教えすることを躊躇しないと私はより良い例と完全なサンプルコードを思い付くしようとするでしょう)
おかげだろう、それはそれです!私はstackoverflowが私にできるように8分で答えとしてマークします。 –