0

JavaScript で de、fr、es の 3 つの 2 文字の国コードを正規表現したいと考えています。

/^(de|fr|es)/i

これは正しいです?

4

4 に答える 4

1

それがすべての文字列に含まれている場合は、文字列がそこで終わっていることも確認する必要があります。

/^(?:de|fr|es)$/i
于 2012-11-07T15:27:41.393 に答える
0

単語の境界を探すことで、フランス語と一致しないことを確認できます。

/\b(de|fr|es)\b/i

これはfr、これらの例のfr,deorfr deまたはのいずれにも一致しますが、 orには一致しfr-deません。francefreedom

あなたが探しているものにより具体的かもしれません。

于 2012-11-07T15:31:10.197 に答える
0

はい、これは正しいです。ただし、「fr」と「french」でも機能します。正規表現をテストするための素晴らしい Web を次に示します。

http://gskinner.com/RegExr/

于 2012-11-07T15:27:33.203 に答える
0

文字列が正確にどのように見えるかに応じて、いくつかのオプションがあります。

/^(?:de|fr|es)$/ // string contains only county code

/\b(?:de|fr|en)\b/ // looking for word boundaries 
                   // so it matches "en" but not "english"

ほとんどの場合、キャプチャ グループは必要ないため、 を使用(?:)して非キャプチャ グループにします。

于 2012-11-07T15:32:49.813 に答える