def check(text):
pattern = re.compile(r'\\')
rv = re.match(pattern, text)
if rv:
return True
else:
return False
print check('\mi') # True
print check('\ni') # False
実際には、 '\'が含まれているテキストには違法です。テキストをチェックする方法は、
しかし、 '\ n'、 '\ b'など、pythonはそれらを特別に扱うので、私はそれらを一致させることはできません。
どのようなソリューションですか?
**あなたのパターンとして** "\\\\" **を試してください。私はPythonのために一度それをエスケープしなければならないかもしれないと思う、そして再び正規表現コンパイラのために_エスケープする。 – byxor
まず、 're.match'は文字列を最初から一致させて、' re.search'を使ってテキスト全体を検索することができます。次に、この単純なタスクのために正規表現を必要としません。単に ' in演算子。 – Kasramvd
ソースコードに ''\ ni''がある場合、文字列にはバックスラッシュは含まれません。文字列に改行とそれに続く 'i'が含まれています。文字列の**表現**と文字列の内容を混同しないでください。 – Matthias