在Java中,我可以使用以下函数来检查字符串是否为有效的正则表达式(source):
boolean isRegex;
try {
Pattern.compile(input);
isRegex = true;
} catch (PatternSyntaxException e) {
isRegex = false;
}
是否有Pattern.compile()
和PatternSyntaxException
的Python等价物?如果是这样,那是什么?
类似于Java。使用re.error
例外:
re.error
例外
import re try: re.compile('[') is_valid = True except re.error: is_valid = False
当将字符串传递给此处的一个函数时引发异常不是有效的正则表达式(例如,它可能包含括号不匹配)或在编译或匹配。如果字符串不包含任何字符,则永远不会出错匹配模式。