Joa*_*uer 17
您可以做的唯一可靠检查是,如果它String
是一个语法正确的正则表达式:
boolean isRegex;
try {
Pattern.compile(input);
isRegex = true;
} catch (PatternSyntaxException e) {
isRegex = false;
}
Run Code Online (Sandbox Code Playgroud)
但是请注意,这将导致true
即使字符串喜欢Hello World
和I'm not a regex
,因为从技术上它们是有效的正则表达式.
它将返回的唯一情况false
是不是有效正则表达式的字符串,例如[unclosed character class
or (unclosed group
或+
.