正規表現についてかなり基本的な質問があるかもしれません。次の正規表現があります。これは、intをハードコーディングするとアプリケーションは正常に機能しますが、ConfigParserで読み取った場合は機能しないようです。
r"\[[+-]?\d+(?:\.\d+)?\]"
私がそれを読む方法は次のとおりです:
Config = ConfigParser.ConfigParser()
Config.read("test.conf")
test_regex = Config.get("test","test_regex")
search_pattern = re.compile(test_regex)
test_result = search_pattern.findall(text_to_parse)
test.confの一部
[test]
test_regex=r"\[[+-]?\d+(?:\.\d+)?\]"
テストの入力は次のようになります。
text_to_parse = " Here is the [TEST-DONE]" // Success: my regex is extracting [TEST-DONE]
text_to_parse = " Here is the some text" // Failure my regex returns empty list
この問題の解決策はありますか?どうもありがとう、
Serhiy。
編集:答えるコメントで述べたように、私の注意の誤りでしたが、ファイルにあるときの正規表現からのrのリモーションの解決策は大いに役立ちました。