2016-07-08 34 views
0

この質問は似ていますが、私は数日前に尋ねたものとは全く異なるものを探しています。文字列内の不明な文字列を見つける

私が知られている文字列を持っていますが、コードの一部であり、それは私が現在使用してそれを見つけ、異なりますよう、私は必要なものの良い部分を通って、私を取得します

for num, line in enumerate(code, 1): 
    if re.match("function (.*) {", line): 

を私はそれが始まる行番号を知る必要があります。私の問題はここから始まります。私が必要とするのは、(。*)正規表現を使用している部分です。

答えて

2

()の間のテキストを意味しますか?グループをキャプチャ

用途:

m = re.match("function (.*) {", line): 
if m: 
    print m.group(1) 
+0

はい、私はそのテキストを意味します。 – Jgrindle

0

返されたマッチオブジェクトオブジェクトがグループのすべての内容が含まれています。私はre.searchを使用します。もし 'function'が常に行頭に来るとは限らず、 '。+'を使って関数を少なくとも一つの文字とマッチさせることができます。

line_to_fn = {} 

for num, line in enumerate(code, 1): 
    match = re.search("function (.+) {", line) 
    if match: 
     matches = match.groups() 
     assert len(matches) == 1, repr(matches) 
     line_to_fn[num] = matches[0] 

# line_to_fn: {1: 'something', 5: 'something_else'}here 
関連する問題