Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.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
什么';这两者之间的区别是什么;c&&;";及;[c&;c]";在Java中';什么是正则表达式?_Java_Regex - Fatal编程技术网

什么';这两者之间的区别是什么;c&&;";及;[c&;c]";在Java中';什么是正则表达式?

什么';这两者之间的区别是什么;c&&;";及;[c&;c]";在Java中';什么是正则表达式?,java,regex,Java,Regex,有了这个电话, System.out.println(Pattern.matches("[c&&c]", "c")); System.out.println(Pattern.matches("c&&c", "c")); 我得到了正确的。但是有了这个呼吁, System.out.println(Pattern.matches("[c&&c]", "c")); System.out.println(Pattern.matches("c&&

有了这个电话,

System.out.println(Pattern.matches("[c&&c]", "c"));
System.out.println(Pattern.matches("c&&c", "c"));
我得到了
正确的
。但是有了这个呼吁,

System.out.println(Pattern.matches("[c&&c]", "c"));
System.out.println(Pattern.matches("c&&c", "c"));
我得到了
false
。第二个调用没有抛出任何异常,这意味着它是一个有效的正则表达式但是,我不确定这是否可以接受,因为在Java API中,操作符
&
似乎只出现在括号之间。
那么,第二个调用中
&
的含义是什么

第二次呼叫中的&&是什么意思

[c&&c]
,表示其中的任一字符

我明白了

因为
c
c&&c
中的任何一个匹配。基本上,
[c&]
就足够了

c&&c
是字面意思<代码>c
后接
&
后接
&
后接
c
。不匹配的只有
c

  • []
    允许您匹配它们之间的任何字符。因此
    [c&&c]
    允许
    c
    &
    出现在您试图匹配的字符串中。因此,只需
    c
    或只需
    &
  • c&&c
    是一个文本,它只与文本中出现的
    c&&c
    匹配。因此它与测试字符串
    c
    不匹配

仅阐述第一点:
[c&&c]
是一个字符类,由
c
&
&
c
组成,这当然相当于由
c
&
组成的类,这正是拉胡尔所指的。您是否查看了答案?