在 Java 中,我可以使用以下函数来检查字符串是否是有效的正则表达式(source):
boolean isRegex;
try {
Pattern.compile(input);
isRegex = true;
} catch (PatternSyntaxException e) {
isRegex = false;
}
是否有 Python 等效的Pattern.compile()
and PatternSyntaxException
?如果是这样,它是什么?
在 Java 中,我可以使用以下函数来检查字符串是否是有效的正则表达式(source):
boolean isRegex;
try {
Pattern.compile(input);
isRegex = true;
} catch (PatternSyntaxException e) {
isRegex = false;
}
是否有 Python 等效的Pattern.compile()
and PatternSyntaxException
?如果是这样,它是什么?
类似于 Java。使用re.error
例外:
import re
try:
re.compile('[')
is_valid = True
except re.error:
is_valid = False
例外
re.error
当传递给此处函数之一的字符串不是有效的正则表达式(例如,它可能包含不匹配的括号)或在编译或匹配期间发生其他错误时引发异常。如果字符串不包含与模式匹配的内容,则永远不会出错。
编写相同答案的另一种奇特方式:
import re
try:
print(bool(re.compile(input())))
except re.error:
print('False')