# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"<groupId>([^<]*)<\/groupId>\n[[:space:]]*<artifactId>([^<]*)<\/artifactId>\n[[:space:]]*<version>([^<]*)<\/version>"
test_str = ("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n"
"<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd\">\n"
" <modelVersion>4.0.0</modelVersion>\n\n"
" <groupId>com.bluesoft.muleesb</groupId>\n"
" <artifactId>Magellan23888Adapter</artifactId>\n"
" <version>1.0.0-SNAPSHOT</version>\n"
" <packaging>mule-application</packaging>\n\n"
" <name>Magellan23888Adapter</name>\n\n"
" <properties>\n"
" <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\n"
" <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>\n"
" <app.runtime>4.3.0</app.runtime>\n"
" <mule.maven.plugin.version>3.3.5</mule.maven.plugin.version>\n"
" </properties>\n\n"
" <build>\n"
" <plugins>\n"
" <plugin>\n"
" <groupId>org.mule.tools.maven</groupId>\n"
" <artifactId>mule-maven-plugin</artifactId>\n"
" <version>${mule.maven.plugin.version}</version>\n"
" <extensions>true</extensions>\n"
" <configuration>\n"
" <sharedLibraries>\n"
" <sharedLibrary>\n"
" <groupId>com.ibm.mq</groupId>\n"
" <artifactId>com.ibm.mq.allclient</artifactId>\n"
" </sharedLibrary>\n"
" </sharedLibraries>\n"
" <classifier>mule-application</classifier>\n"
" </configuration>\n"
" </plugin>\n"
" </plugins>\n"
" </build>\n"
" <distributionManagement>\n"
" <repository>\n"
" <id>releases</id>\n"
" <name>bluesoft releases</name>\n"
" <url>http://nexus.bluesoft.com/repository/releases</url>\n"
" </repository>\n"
" <snapshotRepository>\n"
" <id>snapshots</id>\n"
" <name>bluesoft snapshots</name>\n"
" <url>http://nexus.bluesoft.com/repository/snapshots</url>\n"
" </snapshotRepository>\n"
" </distributionManagement>\n"
" <dependencies>\n"
" <dependency>\n"
" <groupId>com.mulesoft.connectors</groupId>\n"
" <artifactId>mule-x12-connector</artifactId>\n"
" <version>2.6.2</version>\n"
" <classifier>mule-plugin</classifier>\n"
" <exclusions>\n"
" <exclusion>\n"
" <groupId>org.apache.logging.log4j</groupId>\n"
" <artifactId>log4j-core</artifactId>\n"
" </exclusion>\n"
" <exclusion>\n"
" <groupId>org.apache.logging.log4j</groupId>\n"
" <artifactId>log4j-api</artifactId>\n"
" </exclusion>\n"
" </exclusions>\n"
" </dependency>\n"
" <dependency>\n"
" <groupId>org.mule.connectors</groupId>\n"
" <artifactId>mule-objectstore-connector</artifactId>\n"
" <version>1.1.7</version>\n"
" <classifier>mule-plugin</classifier>\n"
" </dependency>\n"
" <dependency>\n"
" <groupId>com.ibm.mq</groupId>\n"
" <artifactId>com.ibm.mq.allclient</artifactId>\n"
" <version>9.2.1.0</version>\n"
" </dependency>\n"
" <dependency>\n"
" <groupId>org.mule.modules</groupId>\n"
" <artifactId>mule-json-module</artifactId>\n"
" <version>2.1.3</version>\n"
" <classifier>mule-plugin</classifier>\n"
" </dependency>\n"
" <dependency>\n"
" <groupId>org.apache.commons</groupId>\n"
" <artifactId>commons-lang3</artifactId>\n"
" <version>3.12.0</version>\n"
" </dependency>\n"
" <dependency>\n"
" <groupId>org.mule.connectors</groupId>\n"
" <artifactId>mule-http-connector</artifactId>\n"
" <version>1.5.6</version>\n"
" <classifier>mule-plugin</classifier>\n"
" </dependency>\n"
" <dependency>\n"
" <groupId>org.mule.connectors</groupId>\n"
" <artifactId>mule-file-connector</artifactId>\n"
" <version>1.3.3</version>\n"
" <classifier>mule-plugin</classifier>\n"
" </dependency>\n"
" <dependency>\n"
" <groupId>com.mulesoft.connectors</groupId>\n"
" <artifactId>mule-ibm-mq-connector</artifactId>\n"
" <version>1.6.3</version>\n"
" <classifier>mule-plugin</classifier>\n"
" </dependency>\n"
" <dependency>\n"
" <groupId>org.mule.connectors</groupId>\n"
" <artifactId>mule-sftp-connector</artifactId>\n"
" <version>1.4.0</version>\n"
" <classifier>mule-plugin</classifier>\n"
" </dependency>\n"
" <dependency>\n"
" <groupId>com.mulesoft.modules</groupId>\n"
" <artifactId>mule-secure-configuration-property-module</artifactId>\n"
" <version>1.1.0</version>\n"
" <classifier>mule-plugin</classifier>\n"
" </dependency>\n"
" <dependency>\n"
" <groupId>org.mule.connectors</groupId>\n"
" <artifactId>mule-email-connector</artifactId>\n"
" <version>1.4.1</version>\n"
" <classifier>mule-plugin</classifier>\n"
" </dependency>\n"
" <dependency>\n"
" <groupId>org.apache.logging.log4j</groupId>\n"
" <artifactId>log4j-core</artifactId>\n"
" <version>2.16.0</version>\n"
" </dependency>\n"
" <dependency>\n"
" <groupId>org.apache.logging.log4j</groupId>\n"
" <artifactId>log4j-api</artifactId>\n"
" <version>2.16.0</version>\n"
" </dependency>\n"
" </dependencies>\n\n"
" <repositories>\n"
" <repository>\n"
" <id>bluesoft-nexus</id>\n"
" <name>bluesoft Nexus</name>\n"
" <url>https://nexus.bluesoft.com/content/groups/public</url>\n"
" <layout>default</layout>\n"
" </repository>\n"
" </repositories>\n"
" <pluginRepositories>\n"
" <pluginRepository>\n"
" <id>bluesoft-nexus-plugins</id>\n"
" <name>bluesoft Nexus</name>\n"
" <layout>default</layout>\n"
" <url>https://nexus.bluesoft.com/content/groups/public</url>\n"
" <snapshots>\n"
" <enabled>false</enabled>\n"
" </snapshots>\n"
" </pluginRepository>\n"
" </pluginRepositories>\n\n"
"</project>")
matches = re.finditer(regex, test_str, re.MULTILINE)
for matchNum, match in enumerate(matches, start=1):
print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))
for groupNum in range(0, len(match.groups())):
groupNum = groupNum + 1
print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum)))
# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html