-1

guidefs.hプロジェクト コードのバージョンに関する情報が含まれているという名前のファイルがあります。

行間に#define VERSION_MAJOR 2&#define VERSION_MINOR 1があり、これらの単語を検索して、数値 2 と 1 を変数 MAJOR と MINOR にそれぞれ取得したいと考えています。

広範囲に検索しましたが、単語を検索することになりました。これらの単語を検索して、それに関連付けられた番号を取得する方法を教えてください。

4

3 に答える 3

2

正規表現を使用できます。これでうまくいきます。

例えば:re.findall(r'#define VERSION_MAJOR (\d+)', text)

findall機能を見てください

于 2013-05-22T10:33:54.277 に答える
2

以下を試してください:

import re

number_regex = r'#define\s+VERSION_M[AJIN]+OR\s+(\d+)'

with open("guidefs.h") as f:
    your_text = f.read()
    all_numbers = re.findall(number_regex, your_text)
    # This will return ['2', '1']

これは、MAJOR 番号と MINOR 番号の両方で機能します。

文字列のリストではなく整数のリストが必要な場合は、次の行を追加してリスト内包表記を使用できます。

all_numbers = [int(x) for x in all_numbers]
# This will return [2, 1]
于 2013-05-22T13:08:36.493 に答える