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]*\])

没有它,您的第二个示例blah_ha[2]将无法捕获(其他示例会捕获)。

一个较短的版本(捕获每个单词字符(字母、数字等):

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

于 2012-07-02T06:00:12.813 回答