# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"((?<dddddd>\bRemove\b|\bInstall\b|\bUpgrade\b)\:\s)(?<library>\blibperl5.34\b|\blibintl-perl\b|\bnet-tools\b|\bzoom-player\b)"
test_str = ("End-Date: 2023-01-29 21:25:13\n"
"Start-Date: 2023-01-29 21:25:13\n"
"Commandline: apt autoremove\n"
"Remove: libperl5.34:amd64 (5.34.0-3ubuntu1.1), libgdbm-compat4:amd64 (1.23-1), perl-modules-5.34:amd64 (5.34.0-3ubuntu1.1), git-man:amd64 (1:2.34.1-1ubuntu1.6)\n"
"End-Date: 2023-01-29 21:22:31\n"
"Start-Date: 2023-01-29 21:22:31\n"
"Commandline: apt remove perl\n"
"Remove: libintl-perl:amd64 (1.26-3build2), git:amd64 (1:2.34.1-1ubuntu1.6), perl:amd64 (5.34.0-3ubuntu1.1), libsort-naturally-perl:amd64 (1.03-2), libmodule-find-perl:amd64 (0.15-1), libterm-readkey-perl:amd64 (2.38-1build4), liberror-perl:amd64 (0.17029-1), ubuntu-server:amd64 (1.481), needrestart:amd64 (3.5-5ubuntu2.1), libintl-xs-perl:amd64 (1.26-3build2), libproc-processtable-perl:amd64 (0.634-1build1), libmodule-scandeps-perl:amd64 (1.31-1)\n"
"End-Date: 2023-01-29 21:21:46\n"
"Start-Date: 2023-01-29 21:21:45\n"
"Commandline: apt remove net-tools\n"
"Remove: net-tools:amd64 (1.60+git20181103.0eebece-1ubuntu5)\n"
"End-Date: 2023-01-29 21:20:14\n"
"Start-Date: 2023-01-29 21:20:10\n"
"Commandline: apt install zoom-player\n"
"Install: zoom-player:amd64 (1.1.5~dfsg-6), libxrender1:amd64 (1:0.9.10-1build4, automatic), xfonts-75dpi:amd64 (1:1.0.4+nmu1.1, automatic), x11-common:amd64 (1:7.7+23ubuntu2, automatic), libxft2:amd64 (2.3.4-1, automatic), libfontconfig1:amd64 (2.13.1-4.2ubuntu5, automatic), libfontenc1:amd64 (1:1.1.4-1build3, automatic), fontconfig-config:amd64 (2.13.1-4.2ubuntu5, automatic), xfonts-encodings:amd64 (1:1.0.5-0ubuntu2, automatic), xfonts-100dpi:amd64 (1:1.0.4+nmu1.1, automatic), xfonts-utils:amd64 (1:7.7+6build2, automatic), fonts-dejavu-core:amd64 (2.37-2build1, automatic), xfonts-base:amd64 (1:1.0.5, automatic)\n"
"End-Date: 2023-01-29 06:28:41\n"
"Start-Date: 2023-01-29 06:28:41\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: libcurl3-gnutls:amd64 (7.81.0-1ubuntu1.4, 7.81.0-1ubuntu1.7)\n"
"End-Date: 2023-01-29 06:28:36\n"
"Start-Date: 2023-01-29 06:28:36\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: libbpf0:amd64 (1:0.5.0-1, 1:0.5.0-1ubuntu22.04.1)\n"
"End-Date: 2023-01-29 06:28:32\n"
"Start-Date: 2023-01-29 06:28:31\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: xxd:amd64 (2:8.2.3995-1ubuntu2.1, 2:8.2.3995-1ubuntu2.3)\n"
"End-Date: 2023-01-29 06:28:27\n"
"Start-Date: 2023-01-29 06:28:26\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: multipath-tools:amd64 (0.8.8-1ubuntu1, 0.8.8-1ubuntu1.22.04.1)\n"
"End-Date: 2023-01-29 06:28:21\n"
"Start-Date: 2023-01-29 06:28:21\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: libxml2:amd64 (2.9.13+dfsg-1ubuntu0.1, 2.9.13+dfsg-1ubuntu0.2)\n"
"End-Date: 2023-01-29 06:28:16\n"
"Start-Date: 2023-01-29 06:28:16\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: login:amd64 (1:4.8.1-2ubuntu2, 1:4.8.1-2ubuntu2.1)\n"
"End-Date: 2023-01-29 06:28:11\n"
"Start-Date: 2023-01-29 06:28:05\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: snapd:amd64 (2.56.2+22.04ubuntu1, 2.57.5+22.04ubuntu0.1)\n"
"End-Date: 2023-01-29 06:27:59\n"
"Start-Date: 2023-01-29 06:27:59\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: libpam-modules:amd64 (1.4.0-11ubuntu2, 1.4.0-11ubuntu2.1), libpam-modules-bin:amd64 (1.4.0-11ubuntu2, 1.4.0-11ubuntu2.1)\n"
"End-Date: 2023-01-29 06:27:54\n"
"Start-Date: 2023-01-29 06:27:53\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: passwd:amd64 (1:4.8.1-2ubuntu2, 1:4.8.1-2ubuntu2.1)\n"
"End-Date: 2023-01-29 06:27:49\n"
"Start-Date: 2023-01-29 06:27:48\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: libctf-nobfd0:amd64 (2.38-3ubuntu1, 2.38-4ubuntu2.1)\n"
"End-Date: 2023-01-29 06:27:43\n"
"Start-Date: 2023-01-29 06:27:43\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: libk5crypto3:amd64 (1.19.2-2, 1.19.2-2ubuntu0.1)\n"
"End-Date: 2023-01-29 06:27:38\n"
"Start-Date: 2023-01-29 06:27:37\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: grub-efi-amd64-signed:amd64 (1.180+2.06-2ubuntu7, 1.182~22.04.1+2.06-2ubuntu10), grub-efi-amd64-bin:amd64 (2.06-2ubuntu7, 2.06-2ubuntu10)\n"
"End-Date: 2023-01-29 06:27:32\n"
"Start-Date: 2023-01-29 06:27:31\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: git:amd64 (1:2.34.1-1ubuntu1.4, 1:2.34.1-1ubuntu1.6)\n"
"End-Date: 2023-01-29 06:27:26\n"
"Start-Date: 2023-01-29 06:27:26\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: libsqlite3-0:amd64 (3.37.2-2, 3.37.2-2ubuntu0.1)\n"
"End-Date: 2023-01-29 06:27:21\n"
"Start-Date: 2023-01-29 06:27:21\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: libexpat1:amd64 (2.4.7-1, 2.4.7-1ubuntu0.2)\n"
"End-Date: 2023-01-29 06:27:15\n"
"Start-Date: 2023-01-29 06:27:15\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: libcurl4:amd64 (7.81.0-1ubuntu1.4, 7.81.0-1ubuntu1.7), curl:amd64 (7.81.0-1ubuntu1.4, 7.81.0-1ubuntu1.7)\n"
"End-Date: 2023-01-29 06:27:10\n"
"Start-Date: 2023-01-29 06:27:06\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: ca-certificates:amd64 (20211016, 20211016ubuntu0.22.04.1)\n"
"End-Date: 2023-01-29 06:26:59\n"
"Start-Date: 2023-01-29 06:26:45\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Install: linux-headers-5.15.0-58-generic:amd64 (5.15.0-58.64, automatic), linux-modules-5.15.0-58-generic:amd64 (5.15.0-58.64, automatic), linux-headers-5.15.0-58:amd64 (5.15.0-58.64, automatic), linux-image-5.15.0-58-generic:amd64 (5.15.0-58.64, automatic)\n"
"Upgrade: linux-virtual:amd64 (5.15.0.50.50, 5.15.0.58.56), linux-headers-generic:amd64 (5.15.0.50.50, 5.15.0.58.56), linux-image-virtual:amd64 (5.15.0.50.50, 5.15.0.58.56), linux-headers-virtual:amd64 (5.15.0.50.50, 5.15.0.58.56)\n"
"End-Date: 2023-01-29 06:26:40\n"
"Start-Date: 2023-01-29 06:26:39\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: vim:amd64 (2:8.2.3995-1ubuntu2.1, 2:8.2.3995-1ubuntu2.3), vim-common:amd64 (2:8.2.3995-1ubuntu2.1, 2:8.2.3995-1ubuntu2.3), vim-tiny:amd64 (2:8.2.3995-1ubuntu2.1, 2:8.2.3995-1ubuntu2.3), vim-runtime:amd64 (2:8.2.3995-1ubuntu2.1, 2:8.2.3995-1ubuntu2.3)\n"
"End-Date: 2023-01-29 06:26:34\n"
"Start-Date: 2023-01-29 06:26:34\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: sudo:amd64 (1.9.9-1ubuntu2, 1.9.9-1ubuntu2.2)\n"
"End-Date: 2023-01-29 06:26:29\n"
"Start-Date: 2023-01-29 06:26:28\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: libperl5.34:amd64 (5.34.0-3ubuntu1, 5.34.0-3ubuntu1.1), perl:amd64 (5.34.0-3ubuntu1, 5.34.0-3ubuntu1.1), perl-base:amd64 (5.34.0-3ubuntu1, 5.34.0-3ubuntu1.1)\n"
"End-Date: 2023-01-29 06:26:24\n"
"Start-Date: 2023-01-29 06:26:23\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: git-man:amd64 (1:2.34.1-1ubuntu1.4, 1:2.34.1-1ubuntu1.6)\n"
"End-Date: 2023-01-29 06:26:19\n"
"Start-Date: 2023-01-29 06:26:18\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: bind9-host:amd64 (1:9.18.1-1ubuntu1.2, 1:9.18.1-1ubuntu1.3), bind9-dnsutils:amd64 (1:9.18.1-1ubuntu1.2, 1:9.18.1-1ubuntu1.3), bind9-libs:amd64 (1:9.18.1-1ubuntu1.2, 1:9.18.1-1ubuntu1.3)\n"
"End-Date: 2023-01-29 06:26:14\n"
"Start-Date: 2023-01-29 06:26:13\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: libpam-runtime:amd64 (1.4.0-11ubuntu2, 1.4.0-11ubuntu2.1)\n"
"End-Date: 2023-01-29 06:26:08\n"
"Start-Date: 2023-01-29 06:26:08\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: perl-modules-5.34:amd64 (5.34.0-3ubuntu1, 5.34.0-3ubuntu1.1)\n"
"End-Date: 2023-01-29 06:26:02\n"
"Start-Date: 2023-01-29 06:26:02\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: libpam0g:amd64 (1.4.0-11ubuntu2, 1.4.0-11ubuntu2.1)\n"
"End-Date: 2023-01-29 06:25:56\n"
"Start-Date: 2023-01-29 06:25:56\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: openssl:amd64 (3.0.2-0ubuntu1.6, 3.0.2-0ubuntu1.7)\n"
"End-Date: 2023-01-29 06:25:51\n"
"Start-Date: 2023-01-29 06:25:50\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: python3-pkg-resources:amd64 (59.6.0-1.2, 59.6.0-1.2ubuntu0.22.04.1), python3-setuptools:amd64 (59.6.0-1.2, 59.6.0-1.2ubuntu0.22.04.1)\n"
"End-Date: 2023-01-29 06:25:45\n"
"Start-Date: 2023-01-29 06:25:44\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: libksba8:amd64 (1.6.0-2build1, 1.6.0-2ubuntu0.2)\n"
"End-Date: 2023-01-29 06:25:40\n"
"Start-Date: 2023-01-29 06:25:39\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: libgssapi-krb5-2:amd64 (1.19.2-2, 1.19.2-2ubuntu0.1), libkrb5support0:amd64 (1.19.2-2, 1.19.2-2ubuntu0.1), libkrb5-3:amd64 (1.19.2-2, 1.19.2-2ubuntu0.1)\n"
"End-Date: 2023-01-29 06:25:35\n"
"Start-Date: 2023-01-29 06:25:35\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: kpartx:amd64 (0.8.8-1ubuntu1, 0.8.8-1ubuntu1.22.04.1)\n"
"End-Date: 2023-01-29 06:25:30\n"
"Start-Date: 2023-01-29 06:25:30\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: libssl3:amd64 (3.0.2-0ubuntu1.6, 3.0.2-0ubuntu1.7)\n"
"End-Date: 2023-01-29 06:25:25\n"
"Start-Date: 2023-01-29 06:25:24\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: libbinutils:amd64 (2.38-3ubuntu1, 2.38-4ubuntu2.1), binutils-x86-64-linux-gnu:amd64 (2.38-3ubuntu1, 2.38-4ubuntu2.1), libctf0:amd64 (2.38-3ubuntu1, 2.38-4ubuntu2.1), binutils-common:amd64 (2.38-3ubuntu1, 2.38-4ubuntu2.1), binutils:amd64 (2.38-3ubuntu1, 2.38-4ubuntu2.1)\n"
"End-Date: 2023-01-29 06:25:20\n"
"Start-Date: 2023-01-29 06:25:20\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: zlib1g:amd64 (1:1.2.11.dfsg-2ubuntu9.1, 1:1.2.11.dfsg-2ubuntu9.2)\n"
"End-Date: 2023-01-29 06:25:15\n"
"Start-Date: 2023-01-29 06:25:14\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: tzdata:amd64 (2022c-0ubuntu0.22.04.0, 2022g-0ubuntu0.22.04.1)\n"
"End-Date: 2023-01-29 06:25:09\n"
"Start-Date: 2023-01-29 06:25:08\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: dbus-user-session:amd64 (1.12.20-2ubuntu4, 1.12.20-2ubuntu4.1), libdbus-1-3:amd64 (1.12.20-2ubuntu4, 1.12.20-2ubuntu4.1), dbus:amd64 (1.12.20-2ubuntu4, 1.12.20-2ubuntu4.1)\n"
"End-Date: 2023-01-29 06:25:02\n"
"Start-Date: 2023-01-29 06:24:55\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: libntfs-3g89:amd64 (1:2021.8.22-3ubuntu1.1, 1:2021.8.22-3ubuntu1.2), ntfs-3g:amd64 (1:2021.8.22-3ubuntu1.1, 1:2021.8.22-3ubuntu1.2)\n"
"End-Date: 2023-01-29 06:24:50\n"
"Start-Date: 2023-01-29 06:24:47\n"
"Commandline: /usr/bin/unattended-upgrade\n"
"Upgrade: python3.10:amd64 (3.10.6-1~22.04, 3.10.6-1~22.04.2), libpython3.10-minimal:amd64 (3.10.6-1~22.04, 3.10.6-1~22.04.2), libpython3.10-stdlib:amd64 (3.10.6-1~22.04, 3.10.6-1~22.04.2), libpython3.10:amd64 (3.10.6-1~22.04, 3.10.6-1~22.04.2), python3.10-minimal:amd64 (3.10.6-1~22.04, 3.10.6-1~22.04.2)\n"
"End-Date: 2023-01-28 18:15:29\n"
"Start-Date: 2023-01-28 18:15:29\n"
"Commandline: apt install net-tools\n"
"Install: net-tools:amd64 (1.60+git20181103.0eebece-1ubuntu5)\n"
"End-Date: 2023-01-28 18:06:33\n"
"Start-Date: 2023-01-28 18:06:32\n"
"Commandline: apt remove net-tools\n"
"Remove: net-tools:amd64 (1.60+git20181103.0eebece-1ubuntu5)\n"
"End-Date: 2023-01-28 18:03:59\n"
"Start-Date: 2023-01-28 18:03:59\n"
"Commandline: apt install net-tools\n"
"Install: net-tools:amd64 (1.60+git20181103.0eebece-1ubuntu5)\n"
"End-Date: 2023-01-28 17:59:44\n"
"Start-Date: 2023-01-28 17:59:43\n"
"Commandline: apt-get -qq install -y droplet-agent droplet-agent-keyring\n"
"Install: droplet-agent-keyring:amd64 (2.0.0), droplet-agent:amd64 (1.2.4)\n"
"End-Date: 2023-01-28 17:59:21\n"
"Start-Date: 2023-01-28 17:59:20\n"
"Commandline: apt-get -qq install -y ca-certificates apt-utils apt-transport-https\n"
"Install: apt-transport-https:amd64 (2.4.8)\n"
"End-Date: 2022-10-14 20:31:37\n"
"Start-Date: 2022-10-14 20:31:18\n"
"Commandline: apt-get install -y gnupg2\n"
"Install: gnupg2:amd64 (2.2.27-3ubuntu2.1)\n")
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