регулярное выражение с использованием Negative Lookahead и Negative Lookbehind для захвата строки в многострочном XML - PullRequest
0 голосов
/ 04 февраля 2019

у меня есть этот xml, используя Negative Lookahead и Negative Lookbehind, я пытаюсь захватить первое вхождение тега версии, поэтому в моем случае это:

<version>mainapp.1.4</version>

я пробовал это:

 (?<!^<parent>)<version>(?!<\/parent>)

но все же он дает мне все теги версий, что я тут не так делаю?

 <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" >
        <modelVersion>55.0.0</modelVersion>

        <parent>
            <groupId>org.test.proj</groupId>
            <artifactId>test-invoker</artifactId>
            <version>invoker.0.4</version>
        </parent>

        <groupId>org.test.proj.assent</groupId>
        <artifactId>mainapp</artifactId>
        <version>mainapp.1.4</version>
        <packaging>pom</packaging>
        <name>main app 1</name>

        <properties>
            <app-name>Testing App</app-name>
        </properties>

        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>com.prod.db</groupId>
                    <artifactId>srver-db</artifactId>
                    <version>${project.version}</version>
                </dependency>
            </dependencies>
        </dependencyManagement>
        </project>
...