我想從代碼中分離出數組名和數組大小。預期輸入的這個例子:正則表達式得到數組編號
blah_blah[blahvar]
blah_ha[2]
blah_[]
我需要匹配括號內的名稱(blah_blah,blah_ha,blah_)和文本(blahvar,2, '')。 我有這個正則表達式:
([a-zA-z_]+)(\[[a-zA-Z_]*\])
但它不工作。請幫忙。
我想從代碼中分離出數組名和數組大小。預期輸入的這個例子:正則表達式得到數組編號
blah_blah[blahvar]
blah_ha[2]
blah_[]
我需要匹配括號內的名稱(blah_blah,blah_ha,blah_)和文本(blahvar,2, '')。 我有這個正則表達式:
([a-zA-z_]+)(\[[a-zA-Z_]*\])
但它不工作。請幫忙。
您需要包括數字:
([a-zA-z_0-9]+)(\[[a-zA-Z_0-9]*\])
不這樣做,你的第二個例子blah_ha[2]
不會趕上(別人做的)。
較短的版本(即捕獲每一個字字符(字母,數字,等):
(\w+)(\[\w*\])
使用該正則表達式
([\w]+)\[([\w]*)\]
組1將匹配陣列名稱和第2組將匹配指數
「它不工作」是*從來沒有足夠的描述這個問題。什麼是錯的?它是否匹配太多?太少?它是否匹配正確的東西,但你無法提取組? –
這可能不是你的問題的原因,但正則表達式的第一部分([a-zA-z _] +)具有小寫'z'而不是大寫'Z' – mrzli