当前位置: 首页 > 面试题库 >

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

皇甫伟彦
2023-03-14
问题内容

我有一个字符串。如何检查字符串是正则表达式还是包含正则表达式还是正常字符串?


问题答案:

您唯一可以做的可靠检查是,如果String语法正确的是正则表达式:

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

但是请注意,true即使对于像Hello World和这样的字符串,也会导致这种情况I'm not a regex,因为从技术上讲,它们是有效的正则表达式。

唯一会返回的false情况是不是有效正则表达式的字符串,例如[unclosed character class(unclosed group+



 类似资料:
  • 问题内容: 我对和都错了。我想检查哈希是否仅包含数字。我错过了什么? 问题答案: 应该这样做。原始匹配的任何内容都只包含一位数字。

  • 问题内容: 我正在寻找Java代码来检查字符串是否为有效的XML。 问题答案: 用正则表达式验证XML是不可能的。XML不是常规语言。 使用XML解析器尝试将字符串解析为XML,或者对照模式(例如DTD或XSD文件)验证XML文档。

  • 问题内容: 我想使用JavaScript(可以与jQuery一起使用)进行一些客户端验证,以检查字符串是否与正则表达式匹配: 理想情况下,它将是一个返回true或false的表达式。 我是JavaScript新手,我需要做什么?似乎要检查字符串的一部分是否匹配正则表达式,而不是整个字符串。 问题答案: 使用,如果你想要的是一个布尔结果: …并且您可以从正则表达式中删除,因为您无需捕获。

  • 问题内容: 我有字符串,我想检查它的内容是否包含中文字符(是/否) 你能帮我么? 谢谢!阿德里安 问题答案: 您可以使用Unicode字符类http://www.regular- expressions.info/unicode.html 这只是检查是否存在至少一个汉字。如果要匹配完整的字符串,则可能需要对此进行扩展。

  • 问题内容: 深入研究堆栈溢出后,我发现了一些代码来检查字符串是否为字母数字且长于8个字符。效果很好。现在,如果包含至少2个数字,如何使它返回true?我想我必须在某处添加。 问题答案: 您不需要单独的if条件。单个正则表达式将为您完成所有工作。

  • 以下是我的项目的细节: 字谜:这个项目的目的是创建一个游戏,在这个游戏中,用户可以看到一个单词的字谜,并且必须在有限的尝试次数内猜出正确的单词。项目特点: null