我有一根绳子。如何检查字符串是否是正则表达式或包含正则表达式还是普通字符串?
您可以做的唯一可靠的检查是String
是一个语法正确的正则表达式:
boolean isRegex;
try {
Pattern.compile(input);
isRegex = true;
} catch (PatternSyntaxException e) {
isRegex = false;
}
但请注意,这将导致true
即使对于像这样的字符串Hello World
and I'm not a regex
,因为从技术上讲它们是有效的正则表达式。
唯一会返回的情况false
是不是有效正则表达式的字符串,例如[unclosed character class
or (unclosed group
or +
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)