正規表現の構文が正しい結果を返していません。 mdファイル(https://developer.github.com/v3/pulls/#list-pull-requests-files)のパッチキーを解析する際に、3つの可能な文字列を返すgithub3.pyライブラリを使用して、GitHubから返されたデータがあります。私は、正規表現のドキュメントといくつかのスレッドを読んだが、私は構文で何かを見逃している。Python regex文が正しい結果を返さない
string1 = '> [HELP.SELECTOR]'
string2 = '-> [HELP.SELECTOR]'
string3 = '+> [HELP.SELECTOR]'
私はstring1
が発見された場合string2
またはstring3
とFalseに完全に一致する真印刷したいです。 string2
またはstring3
が見つかった場合、私の結果はFalseに戻ります。
for prs in repo.pull_requests():
search_string_found = 'False'
regex_search_string1 = re.compile(r"^\+>\s\[HELP.SELECTOR\]")
regex_search_string2 = re.compile(r"^->\s\[HELP.SELECTOR\]")
for data in repo.pull_request(prs.number).files():
match_text1 = regex_search_string1.search(data.patch)
match_text2 = regex_search_string2.search(data.patch)
if match_text1 is not None and match_text2 is not None:
search_string_found = 'True'
break
print('HELP.SELECTOR present in file: ', search_string_found)
'regex_search_string = re.compile(r"^[+ - ]> \ s \ [HELP \ .SELECTOR \] ")'、 'regex_search_string.search(data .patch): ' –
あなたの解決策は機能しました。私はキャレットを削除して正規表現を微調整し、正しい結果が返されました。 'regex_search_string = re.compile(r" [\ + - ]> \ s \ [HELP \ .SELECTOR \] ")'となります。 – DBS
これは、必要な文字列が文字列の先頭にないことを意味します。 –