正则表达式..检索文本并替换

时间:2014-08-07 05:57:42

标签: java regex

我有一个xml文件,如:

<pre>
    <book category="CHILDREN">
      <details title="Harry Potter" author="J K. Rowling">
    </book>
</pre>

如何在字符串上使用子字符串(在xml文件中)并用xyzName替换作者?

提前致谢

1 个答案:

答案 0 :(得分:0)

If you would still like to use regex for this after noting the warnings

使用以下正则表达式替换:

String contents = "<pre>\n" +
                      "<book category=\"CHILDREN\">\n" +
                        "<details title=\"Harry Potter\" author=\"J K. Rowling\">\n" +
                      "</book>\n" +
                  "</pre>";
String newContents = contents.replaceFirst("(?<=author=\")[^\"]+", "xyzName");

View a regex demo!

表达解释:

  • (?<=author=\")断言我们的匹配 char序列'author =“'
  • [^\"]匹配不是'“'的字符。
    • +一次或多次[贪婪:尽可能多地匹配]。