java正则表达式中的混淆

java正则表达式中的混淆,java,regex,Java,Regex,根据java.util.regex.Pattern文档,^表示否定,也是行的开头。我怎样才能知道在任何程序中使用的是什么 这个程序来自Java思维(与上述问题无关) 输出 hs regex hs regex hs pretty good regulr expressions Regulr expressions re in 模式^[java]提供输出jJJ 模式(^java),^(java)和^java给出输出javajava 我理解[^java]的含义,但其他四种模式是什么意思? 除了

根据java.util.regex.Pattern文档,
^
表示否定,也是行的开头。我怎样才能知道在任何程序中使用的是什么

这个程序来自Java思维(与上述问题无关)

输出

 hs regex
 hs regex
 hs pretty good regulr expressions
Regulr expressions re in
模式
^[java]
提供输出
jJJ

模式
(^java)
^(java)
^java
给出输出
javajava

我理解
[^java]
的含义,但其他四种模式是什么意思?
除了输出中的单词java(不区分大小写)之外,我还能做什么呢?

[^java]
->它匹配任何字符,但不匹配
j
v
a
<代码>[^..]称为否定字符类。它匹配所有字符,但被否定的charcate类中存在的字符所匹配的字符除外

^java
->它匹配行首出现的字符串
java
。您可以通过
m.group(0)
打印匹配项

^(java)
->它捕获行首出现的字符串
java
。您可以通过
m.group(0)
打印匹配,并通过
m.group(1)
打印第一个捕获组中的字符,其中
m
匹配器
类的对象。因此,您可以从
m.group(0)
m.group(1)


(^java)
->与上面一样,它捕获行开头的字符串
java

在正则表达式中,
[…]
表示字符类。字符类有自己的迷你语言:应用一组不同的特殊字符,它们有不同的含义

您最好将正则表达式中的
^
看作是行锚的开始。但是,在上下文
[^abc]
中,这是一个否定字符类,即匹配除
a
b
c
之外的任何单个字符


另一个不同的例子是
-
。通常,它只是一个文本
-
字符。但是,在字符类中,它定义了一个范围。(例如,
[a-z]
匹配所有ASCII小写字母。)

[^java]
是一个负字符类,它意味着匹配除该类中列出的
j、a、v
之外的任何字符,因此,输出与预期一致。在第一种情况下,它是字符类中的否定,而在第二种情况下,它是行符号的开头。匹配和捕获之间有什么区别吗?i、 e.在^java和^java(java)之间?@vicky96:Related read:Capturing组允许您提取与表达式某些部分匹配的文本。在
^java
^(java)
的情况下,捕获组并不显示其有用性,因为捕获组捕获的文本与整个表达式完全相同。
 hs regex
 hs regex
 hs pretty good regulr expressions
Regulr expressions re in