Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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正则表达式“;[.]”;vs"&引用;_Java_Regex - Fatal编程技术网

Java正则表达式“;[.]”;vs"&引用;

Java正则表达式“;[.]”;vs"&引用;,java,regex,Java,Regex,我试图在Java中使用一些正则表达式,在调试代码时遇到了这个问题 [.]和之间有什么区别 我很惊讶,.at会匹配“cat”,但[.]at不会匹配。[.]会逐字匹配一个点(),而会匹配除换行符以外的任何字符(\n)(除非使用模式) 您还可以使用\.(“\\.”,如果您使用java字符串文字)来逐字匹配点。[和]是元字符,允许您定义点。方括号内的任何内容均按字面解释。您还可以包含多个字符: [.=*&^$] // Matches any single character from the l

我试图在Java中使用一些正则表达式,在调试代码时遇到了这个问题

[.]
之间有什么区别


我很惊讶,
.at
会匹配“cat”,但
[.]at
不会匹配。

[.]
会逐字匹配一个点(
),而
会匹配除换行符以外的任何字符(
\n
)(除非使用模式)


您还可以使用
\.
“\\.”
,如果您使用java字符串文字)来逐字匹配点。

[
]
是元字符,允许您定义点。方括号内的任何内容均按字面解释。您还可以包含多个字符:

[.=*&^$] // Matches any single character from the list '.','=','*','&','^','$'
关于
[…]
语法,您需要了解两件具体的事情:

  • 组开头的
    ^
    符号有一个特殊的含义:它反转组匹配的内容。例如,
    [^.]
    匹配除点以外的任何字符
  • 两个字符之间的破折号
    -
    表示两个字符之间的任何代码点。例如,
    [A-Z]
    匹配任何一个大写字母。您可以多次使用破折号-例如,
    [A-Za-z0-9]
    表示“任何单个大写或小写字母或数字”

上述两种结构(
^
-
)几乎在所有正则表达式引擎中都是通用的;有些引擎(如Java)只定义特定于这些引擎的内容。

您是否阅读过任何正则表达式教程
是一个元字符,它匹配除换行符以外的任何字符。在字符类中,它不是元字符。是的,我一直在看oracle教程<代码>[abc]是与a、b或c匹配的字符类。那么为什么
[.]
的行为与
的行为不一样呢?啊,我不明白在它自己的字符类中,它不再是元字符了。谢谢。任何字符,但新行字符(默认情况下至少;)也可以找到;)@sp00m这是真的-谢谢,我编辑了答案来提及它。