使用Negative Lookahead和Negative Lookbehind的正则表达式来捕获多行xml中的字符串

时间:2019-02-04 20:51:58

标签: regex negative-lookahead negative-lookbehind

我有这个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>

0 个答案:

没有答案