1
いいえ、私は2つの正規表現を結合したいと思います。以下の例では、指定された文字だけを含む単語を抽出し、そのリストの中で、この例では別の文字rの単語のみを抽出したいと考えています。正規表現を組み合わせて、どちらにも一致しない
私はこのフォーラムでいくつかの記事を読んでいます。例えば
一つは次のとおりです。 Combining regular expressions in Javascript
彼らは|
、exp1|exp2
で式を結合すると言います。それは私がしたことですが、私はしてはいけない言葉を得ます。以下の例では、r1
とr2
をどのように組み合わせることができますか?
ありがとうございました。
//the words in list form.
var a = "frog dog trig srig swig strog prog log smog snog fig pig pug".split(" "),
//doesn't work, can we fix?
r = /^[gdofpr]+$|[r]+/,
//These work.
r1 = /^[gdofpr]+$/,
r2 = /[r]+/,
//save the matches in a list.
badMatch = [],
goodMatch = [];
//loop through a.
for (var i = 0; i < a.length; i++) {
//bad, doesn't get what I want.
if (a[i].match(r)) badMatch[badMatch.length] = a[i];
//works, clunky. Can we combine these?
if (a[i].match(r1) && a[i].match(r2)) goodMatch[goodMatch.length] = a[i];
} //i
alert(JSON.stringify([badMatch, goodMatch])); //just to show what we got.
次のようになります。
[
["frog", "dog", "trig", "srig", "strog", "prog"],
["frog", "prog"]]
もう一度、ありがとう。 g
、d
、o
、f
、p
とr
文字からなるだけ一致文字列に
javascript!= java – Justinas
'^ [gdofpr] + $'の文字だけで構成され、 'r'も含むすべての単語を取得する必要があるのでしょうか? '/^[gdofpr] * r [gdofpr] * $ /'? –
'| 'と組み合わせるとどちらかに一致し、両方で一致することはありません。 – nnnnnn