Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java正则表达式来发现正则表达式_Java_Regex - Fatal编程技术网

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;
    }
}

用于标识正则表达式的正则表达式。。。让我想起了正则表达式到底应该匹配什么?一个有效的正则表达式,或者任何看起来像正则表达式的东西,例如包含典型的正则表达式字符?我怀疑这是可能的。问题是正则表达式描述正则语言。正则语言的一个特性是它们是上下文无关的,正则表达式当然不是上下文无关的。所以,正则表达式本身不是一种常规语言,所以不能用正则表达式来描述。同时,塔吉尔的回答应该很适合你。