0

配列名と配列サイズをコードから分離しようとしています。予想される入力の例:

blah_blah[blahvar]
blah_ha[2]
blah_[]

名前 (blah_blah, blah_ha, blah_) と括弧内のテキスト (blahvar, 2, '') を一致させる必要があります。私はこの正規表現を持っています:

([a-zA-z_]+)(\[[a-zA-Z_]*\])

しかし、それは機能していません。助けてください。

4

2 に答える 2

3

この正規表現を使用する

([\w]+)\[([\w]*)\]

グループ1はアレイ名と一致し、グループ2はインデックスと一致します

于 2012-07-02T06:05:15.490 に答える
2

数字を含める必要があります:

([a-zA-z_0-9]+)(\[[a-zA-Z_0-9]*\])

それがないと、2番目の例blah_ha[2]はうまくいきません(他の例はうまくいきます)。

短いバージョン(すべての単語文字(文字、数字など)をキャプチャします):

(\w+)(\[\w*\])

于 2012-07-02T06:00:12.813 に答える