import re
regex = re.compile(r"^\s*(#|$).*$", flags=re.MULTILINE)
test_str = ("# Configuration section config.\n"
"# How LVM configuration settings are handled.\n"
"config {\n\n"
" # Configuration option config/checks.\n"
" # If enabled, any LVM configuration mismatch is reported.\n"
" # This implies checking that the configuration key is understood by\n"
" # LVM and that the value of the key is the proper type. If disabled,\n"
" # any configuration mismatch is ignored and the default value is used\n"
" # without any warning (a message about the configuration key not being\n"
" # found is issued in verbose mode only).\n"
" checks = 1\n\n"
" # Configuration option config/abort_on_errors.\n"
" # Abort the LVM process if a configuration mismatch is found.\n"
" abort_on_errors = 0\n\n"
" # Configuration option config/profile_dir.\n"
" # Directory where LVM looks for configuration profiles.\n"
" profile_dir = \"/etc/lvm/profile\"\n"
"}\n")
matches = regex.finditer(test_str)
for match_num, match in enumerate(matches, start=1):
print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}")
for group_num, group in enumerate(match.groups(), start=1):
print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")
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