【问题标题】:Understanding how Java's replaceFirst works with regular expressions了解 Java 的 replaceFirst 如何与正则表达式一起工作
【发布时间】:2016-06-13 21:17:11
【问题描述】:

我有一个字符串,<parameter name="Browser" value="chrome" />。我想用Firefox 替换chrome。我的相关 Java 代码:

l = l.replaceFirst("value=\"*\"", "value=\"" + browser + '"');

正在把原来的String变成

<parameter name="Browser" value="Firefox"chrome" />。我很困惑chrome" 没有被删除,因为replaceFirst 中的正则表达式匹配左括号和右括号。

【问题讨论】:

    标签: java regex replace


    【解决方案1】:

    在第一个正则表达式 value=\"*\" 中,\"*\" 匹配 0 个或多个 " 字符,而不是您想要的任意数量的字符。正确的语法是value=\".*\"

    您可以在 http://regexr.com/ 上测试一个正则表达式,以了解您的正则表达式将如何工作,并带有语法高亮显示。

    【讨论】:

      猜你喜欢
      • 2013-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-22
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多