Java String.replaceAll()和正则表达式
我试图搜索一大堆文本,并用该单词的粗体版本替换句子中的第一个单词。我认为合适的代码不起作用。我做错了什么Java String.replaceAll()和正则表达式,java,regex,Java,Regex,我试图搜索一大堆文本,并用该单词的粗体版本替换句子中的第一个单词。我认为合适的代码不起作用。我做错了什么 String s; s.replaceAll("^(.+)\\B", "<b>\\1</b>") 字符串s; s、 replaceAll(“^(+)\\B”,“\\1”) 我想知道这是否是正确的方法,因为我的字符串是一行HTML字符串,每行以结尾。。所以实际上只有一条“线”。鉴于这一点,我不确定如何实现这一点。字符串是不可变的 s = s.replaceAll("
String s;
s.replaceAll("^(.+)\\B", "<b>\\1</b>")
字符串s;
s、 replaceAll(“^(+)\\B”,“\\1”)
我想知道这是否是正确的方法,因为我的字符串是一行HTML字符串,每行以
结尾。。所以实际上只有一条“线”。鉴于这一点,我不确定如何实现这一点。字符串是不可变的
s = s.replaceAll("^(.+)\\B", "<b>\\1</b>");
s=s.replaceAll(“^(+)\\B”,“\\1”);
哦,您应该使用
$0
来引用匹配项,而不是\\1
字符串是不可变的
s = s.replaceAll("^(.+)\\B", "<b>\\1</b>");
s=s.replaceAll(“^(+)\\B”,“\\1”);
哦,您应该使用
$0
来引用匹配项,而不是\\1
我注意到的一个大问题是匹配项被数字1取代,而不是\\1实际引用匹配项。结果就是这样$1实际正确引用了捕获的组。谢谢不知道为什么Oracle网站上的官方文档说使用\\1。哦,嗯,是的,这很奇怪。无论如何,很高兴我能帮忙:-)我注意到的一个大问题是,匹配项被数字1取代,而不是\\1实际引用匹配项。结果就是这样$1实际正确引用了捕获的组。谢谢不知道为什么Oracle网站上的官方文档说使用\\1。哦,嗯,是的,这很奇怪。无论如何,很高兴我能帮上忙:-)