1

Javascript で「[932A]」のような文字列を一致させようとしています。要約版は次のとおりです。

'[625A] [625B] [625C]'.match(/\[[0-9]*[A-Z]+\]/)

最初のヒットである 1 つの要素を持つ配列を返しています。理由は明らかですか?

4

3 に答える 3

2

g最終項を使用して、グローバル正規表現を実行する必要があります

 '[625A] [625B] [625C]'.match(/[[0-9]*[A-Z]+]/g)
于 2013-07-25T19:13:57.213 に答える
2

グローバル フラグを使用してすべての一致を取得することを指定する必要があります。例 (末尾の g に注意してください):

/[0-9]/g

文字クラスを区切るために使用されていない角括弧もエスケープする必要があります。例えば:

/\[[0-9]+\]/

これは、角括弧内の 1 つ以上の数字と一致します。

于 2013-07-25T19:13:57.537 に答える
1

はい、正規表現にグローバル フラグを追加するだけです。これは、末尾に「g」を追加することによって行われます。結果の正規表現は次のようになります。

/[[0-9]*[A-Z]+]/g
于 2013-07-25T19:13:54.633 に答える