Java 替换介于“0”和“0”之间的字符串的正则表达式<&引用;及&燃气轮机&引用;

Java 替换介于“0”和“0”之间的字符串的正则表达式<&引用;及&燃气轮机&引用;,java,regex,Java,Regex,我试过下面的表达。但问题是,regex将字符串置于第一个“”之间 Scanner Scanner=新的扫描仪(System.in); String str=scanner.nextLine(); str=str.replaceAll(“\\”,“kk”); 输入:你好吗 我得到的输出:你好,kk,你呢 输出我想要:你好,kk,你是谁 我应该使用什么正则表达式来单独替换“”之间的字符串,而不是作为一个整体(第一个“”)?使用模式 如果只使用贪婪模式*,它将消耗输入中第一个和最后一个之间的所有字符

我试过下面的表达。但问题是,regex将字符串置于第一个“”之间

Scanner Scanner=新的扫描仪(System.in);
String str=scanner.nextLine();
str=str.replaceAll(“\\”,“kk”);
输入:你好吗

我得到的输出:你好,kk,你呢

输出我想要:你好,kk,你是谁

我应该使用什么正则表达式来单独替换“”之间的字符串,而不是作为一个整体(第一个“”)?

使用模式

如果只使用贪婪模式
*
,它将消耗输入中第一个
和最后一个
之间的所有字符(匹配项)

使用
字符使其不那么贪婪

以下是您需要的:

String character = "<.*?>";
String str = "hello <'david> who <'the heck> are you";
str = str.replaceAll(character, "kk");
System.out.println(str);
字符串=”;
String str=“你好”;
str=str.replaceAll(字符“kk”);
系统输出打印项次(str);
输出:

你好,kk你是谁

参考:

看看这个,了解更多



希望这有帮助

}*>
就是你要问的。你确定你不希望输出是“hello kk who kk you”@tarun14110我的意思是你可能希望输出是:hello kk who kk you,对吧?在
之前的
\
有什么意义?这些不是正则表达式元字符。更多信息:无论如何,你在这里所做的看起来像是阻止了一些HTML注入(或者你没有告诉我们的其他特定任务)。如果这是真的,那就是一个例子。这个解决方案很可能已经存在于您正在使用的技术中,但要指出它,我们需要知道您真正想要实现的是什么。
String character = "<.*?>";
String str = "hello <'david> who <'the heck> are you";
str = str.replaceAll(character, "kk");
System.out.println(str);