2016-12-08 40 views
1

我試圖解析的使用正則表達式是C代碼的某些部分,例如:替代正回顧後

}StructureTypeDef; 
     AnotherType HwChannelType; 

我想匹配的東西是「StructureTypeDef」中的「}」符號後(但不包括它),我知道我可以實現這一點使用

(?<=\})\s*\w+ 

但問題是,js不支持這最後一條語句。任何人都可以幫忙嗎?

編輯:感謝所有您的答案,但我應該告訴我,我需要通過使用正則表達式來實現這一點,因爲解析不允許提取字符串,所以我需要上面顯示的正則表達式的等價關係。嘗試了很多方法,但沒有成功。

回答

1

你可以把它放在一個組(使用())在和只獲取組的內容(在這種情況下 - 第一組 - [1]):

code.match(/}\s*(\w+)/)[1] // => "StructureTypeDef" 
1

可以在正則表達式使用capturing group並得到捕獲值。

var str = `}StructureTypeDef; 
 
     AnotherType HwChannelType;`; 
 

 
console.log(str.match(/\}\s*(\w+)/)[1])

0

我會使用以下模式:

}\s*(\w+)\s*; 

這給你的一個或多個 '字' 字裏面}捕獲組和;

索引1會給你"StructureTypeDef"
指數0會給你充分捕捉字符串。

text.match(/}\s*(\w+)\s*;/)[1]