2012-10-30 51 views
1

我想獲取js文件註釋的內容。我嘗試使用代碼使用python從js文件解析多個註釋

import re 
code = """ 
/* 
This is a comment. 
*/ 

/* 
This is another comment. 
*/ 

""" 
reg = re.compile("/\*(?P<contents>.*)\*/", re.DOTALL) 
matches = reg.search(code) 

if matches: 
    print matches.group("contents") 

結果我得到的是

This is a comment. 
*/ 

/* 
This is another comment. 

我怎麼能單獨獲得評論?

回答

6

請重複ungreedy:

"/\*(?P<contents>.*?)\*/" 

現在.*將盡可能少的,而不是儘可能多地消耗。

要獲得多個匹配,您將希望使用findall而不是search

+0

它只給了我第一條評論。我怎樣才能同時獲得評論?謝謝你的提示。 –

+1

使用['findall'](http://docs.python.org/2/library/re.html#re.findall)而不是'search'。 –

+0

你搖滾。感謝它的工作。 –