1

最初に、同じようなものが投稿されていたらお詫び申し上げます。私の正規表現の知識は非常に限られており、適応できるものを見つけることができませんでした。

次のような XML ファイルを指定します。

<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog>

    <include file="init.changelog.xml"/>
    <include file="v9.1.changelog.xml"/>
    <include file="v9.2.changelog.xml"/>
    <include file="v9.3.changelog.xml"/>
    <include file="v9.3.1.changelog.xml"/>
    <include file="v9.3.3.changelog.xml"/>

</databaseChangeLog>

変更ログ ファイルの最新バージョンを抽出する正規表現が必要です。上記の例では、文字列 v9.3.3 になります。

その正規表現は、ant で使用する必要があるため、Java と互換性がある必要があります。

前もって感謝します。それがどのように機能するかについていくつかの説明を手伝っていただければ幸いです。

4

3 に答える 3

0

次を試してください。

xmlString = xmlString.replace("\r", "").replace("\n", "");
String version = xmlString.replaceAll("^.*(v\\d+(\\.\\d+)*)[^\\d]+$","$1");
于 2013-07-13T02:45:32.917 に答える
0

ワンライナーは次のとおりです。

String lastVersion = input.replaceAll("(?s).*include file=\"(.*?)\"/>[\n\\s]*</databaseChangeLog", "$1");
于 2013-07-13T03:54:47.710 に答える