java正则表达式来发现正则表达式
我想构建正则表达式,它检查输入的字符串是否为正则表达式,因此它是否包含java正则表达式来发现正则表达式,java,regex,Java,Regex,我想构建正则表达式,它检查输入的字符串是否为正则表达式,因此它是否包含,[然后],(然后),例如: A0[1-4].*Done or (L1 | L2).*Done' 我构建了这样简单的东西:“[\[]..[\\]]”,但即使对于简单的示例,它也根本不起作用。我尝试使用Java matcher,只需简单的String.matches()您可以使用Java自己的解析器检查输入是否为正则表达式: public boolean isRegExp(String pattern) { try {
,[
然后]
,(
然后)
,例如:
A0[1-4].*Done or (L1 | L2).*Done'
我构建了这样简单的东西:
“[\[]..[\\]]”
,但即使对于简单的示例,它也根本不起作用。我尝试使用Java matcher,只需简单的String.matches()
您可以使用Java自己的解析器检查输入是否为正则表达式:
public boolean isRegExp(String pattern) {
try {
Pattern.compile(pattern);
return true;
}
catch(PatternSyntaxException ex) {
return false;
}
}
用于标识正则表达式的正则表达式。。。让我想起了正则表达式到底应该匹配什么?一个有效的正则表达式,或者任何看起来像正则表达式的东西,例如包含典型的正则表达式字符?我怀疑这是可能的。问题是正则表达式描述正则语言。正则语言的一个特性是它们是上下文无关的,正则表达式当然不是上下文无关的。所以,正则表达式本身不是一种常规语言,所以不能用正则表达式来描述。同时,塔吉尔的回答应该很适合你。