web-dev-qa-db-ja.com

文字列が有効な正規表現であるかどうかを確認する方法-Python?

Javaでは、次の関数を使用して、文字列が有効な正規表現であるかどうかを確認できます:(source: 文字列が正規表現であるかどうかを確認する方法

_boolean isRegex;
try {
  Pattern.compile(input);
  isRegex = true;
} catch (PatternSyntaxException e) {
  isRegex = false;
}
_

python Pattern.compile()およびPatternSyntaxExceptionに相当するものがありますか?ある場合、それは何ですか?]

32
alvas

Javaに似ています。使用する - re.error 例外:

import re

try:
    re.compile('[')
    is_valid = True
except re.error:
    is_valid = False

例外re.error

ここの関数の1つに渡された文字列が有効な正規表現でない場合(たとえば、一致しない括弧が含まれている場合)、またはコンパイルまたは照合中に他のエラーが発生した場合に発生する例外。文字列にパターンの一致が含まれていない場合、エラーにはなりません。

51
falsetru