如何检查字符串在Python中是否为有效的正则表达式?

问题描述 投票:43回答:1

在Java中,我可以使用以下函数来检查字符串是否为有效的正则表达式(source):

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

是否有Pattern.compile()PatternSyntaxException的Python等价物?如果是这样,那是什么?

python regex string validation
1个回答
63
投票

类似于Java。使用re.error例外:

re.error

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

当将字符串传递给此处的一个函数时引发异常不是有效的正则表达式(例如,它可能包含括号不匹配)或在编译或匹配。如果字符串不包含任何字符,则永远不会出错匹配模式。

© www.soinside.com 2019 - 2024. All rights reserved.