关于方法replaceAll的问题String。
假设有一个包含重复元素的 xml 字符串表示形式的字符串:
<Users>
<User>
<Name>Alex</Name>
<Company>Gazprom</Company>
</User>
<User>
<Name>Irina</Name>
<Company>Lukoil</Company>
</User>
</Users
我需要用“Rosneft”替换公司中的两个用户。如果我将以下正则表达式应用于字符串:
line.replaceAll("<Company>.*</Company>", "<Company>Rosneft</Company>");
结果会是这样:
<Users>
<User>
<Name>Alex</Name>
<Company>Rosneft</Company>
</User>
</Users
该字符串被占用到“Company”的第一次出现,剪切到用户“Irina”中的最后一个结束标记并替换为新公司。如何避免?
要禁用搜索的“贪婪”,使用量词
?:例如,量词如何工作的描述是here和here