java – 如何检查字符串是否是正则表达式

我有一个字符串我如何检查字符串是正则表达式还是包含正则表达式,还是正常的字符串?
唯一可靠的检查方法是如果String是一个语法正确的正则表达式:

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

但是请注意,即使对于Hello World等字符串,我也不会是正则表达式,因为技术上它们是有效的正则表达式

返回false的唯一情况是不正确的正则表达式的字符串,例如[未关闭的字符类或(未关闭的组或.

转载注明原文:java – 如何检查字符串是否是正则表达式 - 代码日志