我有一个字符串。如何检查字符串是正则表达式还是包含正则表达式还是正常字符串?
您唯一可以做的可靠检查是,如果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