Java 如何使用这个“quot;”运算符;?我";

Java 如何使用这个“quot;”运算符;?我";,java,syntax,case-insensitive,Java,Syntax,Case Insensitive,我已经学了大约3周的Java。我看到下面这样的陈述 String str="I am a Member of MU"; str=str.replaceFirst("(?i)m", ""); 基本上,上述语句的功能是替换(删除)第一个“m”忽略情况。在我看来,“?i”是一种忽略字符大小写的操作符。谁能给我解释一下怎么用这个?我?我在任何地方都找不到“?I”的详细语法。谢谢这是一种“特殊构造” (?idmsuxU idmsuxU)-无,但将匹配标志i d m s u x u打开-关闭 这意味着在

我已经学了大约3周的Java。我看到下面这样的陈述

String str="I am a Member of MU";

str=str.replaceFirst("(?i)m", "");
基本上,上述语句的功能是替换(删除)第一个“m”忽略情况。在我看来,“?i”是一种忽略字符大小写的操作符。谁能给我解释一下怎么用这个?我?我在任何地方都找不到“?I”的详细语法。谢谢

这是一种“特殊构造”

(?idmsuxU idmsuxU)-无,但将匹配标志i d m s u x u打开-关闭

这意味着在你的情况下

(?i)不匹配任何内容,但打开标志i(不区分大小写)。


不匹配任何内容都很重要,这样您就不会只替换一个
m

正则表达式。请参见,因为指示第一个参数是。您可以看到,
?i
实际上在大小写不区分的情况下打开了
i
标志。请参见此。您看到的是正则表达式(regex),它不是Java语言的一部分,而是由库定义的。正则表达式也被其他语言中的库例程使用,并且内置于某些语言中。语法基本相同,但也有变化。例如,如果尤达是MU的成员,则
“MU成员我是”
的结果将是
“MU成员我是”
。它的意思是“匹配‘m’忽略案例”。