# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"^\.lnr-(.*)\:before \{$"
test_str = ("@font-face {\n"
" font-family: 'Linearicons-Free';\n"
" src:url('../fonts/Linearicons-Free.eot?w118d');\n"
" src:url('../fonts/Linearicons-Free.eot?#iefixw118d') format('embedded-opentype'),\n"
" url('../fonts/Linearicons-Free.woff2?w118d') format('woff2'),\n"
" url('../fonts/Linearicons-Free.woff?w118d') format('woff'),\n"
" url('../fonts/Linearicons-Free.ttf?w118d') format('truetype'),\n"
" url('../fonts/Linearicons-Free.svg?w118d#Linearicons-Free') format('svg');\n"
" font-weight: normal;\n"
" font-style: normal;\n"
"}\n\n"
".lnr {\n"
" font-family: 'Linearicons-Free';\n"
" speak: none;\n"
" font-style: normal;\n"
" font-weight: normal;\n"
" font-variant: normal;\n"
" text-transform: none;\n"
" line-height: 1;\n\n"
" /* Better Font Rendering =========== */\n"
" -webkit-font-smoothing: antialiased;\n"
" -moz-osx-font-smoothing: grayscale;\n"
"}\n\n"
".lnr-home:before {\n"
" content: \"\\e800\";\n"
"}\n"
".lnr-apartment:before {\n"
" content: \"\\e801\";\n"
"}\n"
".lnr-pencil:before {\n"
" content: \"\\e802\";\n"
"}\n"
".lnr-magic-wand:before {\n"
" content: \"\\e803\";\n"
"}\n"
".lnr-drop:before {\n"
" content: \"\\e804\";\n"
"}\n"
".lnr-lighter:before {\n"
" content: \"\\e805\";\n"
"}\n"
".lnr-poop:before {\n"
" content: \"\\e806\";\n"
"}\n"
".lnr-sun:before {\n"
" content: \"\\e807\";\n"
"}\n"
".lnr-moon:before {\n"
" content: \"\\e808\";\n"
"}\n"
".lnr-cloud:before {\n"
" content: \"\\e809\";\n"
"}\n"
".lnr-cloud-upload:before {\n"
" content: \"\\e80a\";\n"
"}\n"
".lnr-cloud-download:before {\n"
" content: \"\\e80b\";\n"
"}\n"
".lnr-cloud-sync:before {\n"
" content: \"\\e80c\";\n"
"}\n"
".lnr-cloud-check:before {\n"
" content: \"\\e80d\";\n"
"}\n"
".lnr-database:before {\n"
" content: \"\\e80e\";\n"
"}\n"
".lnr-lock:before {\n"
" content: \"\\e80f\";\n"
"}\n"
".lnr-cog:before {\n"
" content: \"\\e810\";\n"
"}\n"
".lnr-trash:before {\n"
" content: \"\\e811\";\n"
"}\n"
".lnr-dice:before {\n"
" content: \"\\e812\";\n"
"}\n"
".lnr-heart:before {\n"
" content: \"\\e813\";\n"
"}\n"
".lnr-star:before {\n"
" content: \"\\e814\";\n"
"}\n"
".lnr-star-half:before {\n"
" content: \"\\e815\";\n"
"}\n"
".lnr-star-empty:before {\n"
" content: \"\\e816\";\n"
"}\n"
".lnr-flag:before {\n"
" content: \"\\e817\";\n"
"}\n"
".lnr-envelope:before {\n"
" content: \"\\e818\";\n"
"}\n"
".lnr-paperclip:before {\n"
" content: \"\\e819\";\n"
"}\n"
".lnr-inbox:before {\n"
" content: \"\\e81a\";\n"
"}\n"
".lnr-eye:before {\n"
" content: \"\\e81b\";\n"
"}\n"
".lnr-printer:before {\n"
" content: \"\\e81c\";\n"
"}\n"
".lnr-file-empty:before {\n"
" content: \"\\e81d\";\n"
"}\n"
".lnr-file-add:before {\n"
" content: \"\\e81e\";\n"
"}\n"
".lnr-enter:before {\n"
" content: \"\\e81f\";\n"
"}\n"
".lnr-exit:before {\n"
" content: \"\\e820\";\n"
"}\n"
".lnr-graduation-hat:before {\n"
" content: \"\\e821\";\n"
"}\n"
".lnr-license:before {\n"
" content: \"\\e822\";\n"
"}\n"
".lnr-music-note:before {\n"
" content: \"\\e823\";\n"
"}\n"
".lnr-film-play:before {\n"
" content: \"\\e824\";\n"
"}\n"
".lnr-camera-video:before {\n"
" content: \"\\e825\";\n"
"}\n"
".lnr-camera:before {\n"
" content: \"\\e826\";\n"
"}\n"
".lnr-picture:before {\n"
" content: \"\\e827\";\n"
"}\n"
".lnr-book:before {\n"
" content: \"\\e828\";\n"
"}\n"
".lnr-bookmark:before {\n"
" content: \"\\e829\";\n"
"}\n"
".lnr-user:before {\n"
" content: \"\\e82a\";\n"
"}\n"
".lnr-users:before {\n"
" content: \"\\e82b\";\n"
"}\n"
".lnr-shirt:before {\n"
" content: \"\\e82c\";\n"
"}\n"
".lnr-store:before {\n"
" content: \"\\e82d\";\n"
"}\n"
".lnr-cart:before {\n"
" content: \"\\e82e\";\n"
"}\n"
".lnr-tag:before {\n"
" content: \"\\e82f\";\n"
"}\n"
".lnr-phone-handset:before {\n"
" content: \"\\e830\";\n"
"}\n"
".lnr-phone:before {\n"
" content: \"\\e831\";\n"
"}\n"
".lnr-pushpin:before {\n"
" content: \"\\e832\";\n"
"}\n"
".lnr-map-marker:before {\n"
" content: \"\\e833\";\n"
"}\n"
".lnr-map:before {\n"
" content: \"\\e834\";\n"
"}\n"
".lnr-location:before {\n"
" content: \"\\e835\";\n"
"}\n"
".lnr-calendar-full:before {\n"
" content: \"\\e836\";\n"
"}\n"
".lnr-keyboard:before {\n"
" content: \"\\e837\";\n"
"}\n"
".lnr-spell-check:before {\n"
" content: \"\\e838\";\n"
"}\n"
".lnr-screen:before {\n"
" content: \"\\e839\";\n"
"}\n"
".lnr-smartphone:before {\n"
" content: \"\\e83a\";\n"
"}\n"
".lnr-tablet:before {\n"
" content: \"\\e83b\";\n"
"}\n"
".lnr-laptop:before {\n"
" content: \"\\e83c\";\n"
"}\n"
".lnr-laptop-phone:before {\n"
" content: \"\\e83d\";\n"
"}\n"
".lnr-power-switch:before {\n"
" content: \"\\e83e\";\n"
"}\n"
".lnr-bubble:before {\n"
" content: \"\\e83f\";\n"
"}\n"
".lnr-heart-pulse:before {\n"
" content: \"\\e840\";\n"
"}\n"
".lnr-construction:before {\n"
" content: \"\\e841\";\n"
"}\n"
".lnr-pie-chart:before {\n"
" content: \"\\e842\";\n"
"}\n"
".lnr-chart-bars:before {\n"
" content: \"\\e843\";\n"
"}\n"
".lnr-gift:before {\n"
" content: \"\\e844\";\n"
"}\n"
".lnr-diamond:before {\n"
" content: \"\\e845\";\n"
"}\n"
".lnr-linearicons:before {\n"
" content: \"\\e846\";\n"
"}\n"
".lnr-dinner:before {\n"
" content: \"\\e847\";\n"
"}\n"
".lnr-coffee-cup:before {\n"
" content: \"\\e848\";\n"
"}\n"
".lnr-leaf:before {\n"
" content: \"\\e849\";\n"
"}\n"
".lnr-paw:before {\n"
" content: \"\\e84a\";\n"
"}\n"
".lnr-rocket:before {\n"
" content: \"\\e84b\";\n"
"}\n"
".lnr-briefcase:before {\n"
" content: \"\\e84c\";\n"
"}\n"
".lnr-bus:before {\n"
" content: \"\\e84d\";\n"
"}\n"
".lnr-car:before {\n"
" content: \"\\e84e\";\n"
"}\n"
".lnr-train:before {\n"
" content: \"\\e84f\";\n"
"}\n"
".lnr-bicycle:before {\n"
" content: \"\\e850\";\n"
"}\n"
".lnr-wheelchair:before {\n"
" content: \"\\e851\";\n"
"}\n"
".lnr-select:before {\n"
" content: \"\\e852\";\n"
"}\n"
".lnr-earth:before {\n"
" content: \"\\e853\";\n"
"}\n"
".lnr-smile:before {\n"
" content: \"\\e854\";\n"
"}\n"
".lnr-sad:before {\n"
" content: \"\\e855\";\n"
"}\n"
".lnr-neutral:before {\n"
" content: \"\\e856\";\n"
"}\n"
".lnr-mustache:before {\n"
" content: \"\\e857\";\n"
"}\n"
".lnr-alarm:before {\n"
" content: \"\\e858\";\n"
"}\n"
".lnr-bullhorn:before {\n"
" content: \"\\e859\";\n"
"}\n"
".lnr-volume-high:before {\n"
" content: \"\\e85a\";\n"
"}\n"
".lnr-volume-medium:before {\n"
" content: \"\\e85b\";\n"
"}\n"
".lnr-volume-low:before {\n"
" content: \"\\e85c\";\n"
"}\n"
".lnr-volume:before {\n"
" content: \"\\e85d\";\n"
"}\n"
".lnr-mic:before {\n"
" content: \"\\e85e\";\n"
"}\n"
".lnr-hourglass:before {\n"
" content: \"\\e85f\";\n"
"}\n"
".lnr-undo:before {\n"
" content: \"\\e860\";\n"
"}\n"
".lnr-redo:before {\n"
" content: \"\\e861\";\n"
"}\n"
".lnr-sync:before {\n"
" content: \"\\e862\";\n"
"}\n"
".lnr-history:before {\n"
" content: \"\\e863\";\n"
"}\n"
".lnr-clock:before {\n"
" content: \"\\e864\";\n"
"}\n"
".lnr-download:before {\n"
" content: \"\\e865\";\n"
"}\n"
".lnr-upload:before {\n"
" content: \"\\e866\";\n"
"}\n"
".lnr-enter-down:before {\n"
" content: \"\\e867\";\n"
"}\n"
".lnr-exit-up:before {\n"
" content: \"\\e868\";\n"
"}\n"
".lnr-bug:before {\n"
" content: \"\\e869\";\n"
"}\n"
".lnr-code:before {\n"
" content: \"\\e86a\";\n"
"}\n"
".lnr-link:before {\n"
" content: \"\\e86b\";\n"
"}\n"
".lnr-unlink:before {\n"
" content: \"\\e86c\";\n"
"}\n"
".lnr-thumbs-up:before {\n"
" content: \"\\e86d\";\n"
"}\n"
".lnr-thumbs-down:before {\n"
" content: \"\\e86e\";\n"
"}\n"
".lnr-magnifier:before {\n"
" content: \"\\e86f\";\n"
"}\n"
".lnr-cross:before {\n"
" content: \"\\e870\";\n"
"}\n"
".lnr-menu:before {\n"
" content: \"\\e871\";\n"
"}\n"
".lnr-list:before {\n"
" content: \"\\e872\";\n"
"}\n"
".lnr-chevron-up:before {\n"
" content: \"\\e873\";\n"
"}\n"
".lnr-chevron-down:before {\n"
" content: \"\\e874\";\n"
"}\n"
".lnr-chevron-left:before {\n"
" content: \"\\e875\";\n"
"}\n"
".lnr-chevron-right:before {\n"
" content: \"\\e876\";\n"
"}\n"
".lnr-arrow-up:before {\n"
" content: \"\\e877\";\n"
"}\n"
".lnr-arrow-down:before {\n"
" content: \"\\e878\";\n"
"}\n"
".lnr-arrow-left:before {\n"
" content: \"\\e879\";\n"
"}\n"
".lnr-arrow-right:before {\n"
" content: \"\\e87a\";\n"
"}\n"
".lnr-move:before {\n"
" content: \"\\e87b\";\n"
"}\n"
".lnr-warning:before {\n"
" content: \"\\e87c\";\n"
"}\n"
".lnr-question-circle:before {\n"
" content: \"\\e87d\";\n"
"}\n"
".lnr-menu-circle:before {\n"
" content: \"\\e87e\";\n"
"}\n"
".lnr-checkmark-circle:before {\n"
" content: \"\\e87f\";\n"
"}\n"
".lnr-cross-circle:before {\n"
" content: \"\\e880\";\n"
"}\n"
".lnr-plus-circle:before {\n"
" content: \"\\e881\";\n"
"}\n"
".lnr-circle-minus:before {\n"
" content: \"\\e882\";\n"
"}\n"
".lnr-arrow-up-circle:before {\n"
" content: \"\\e883\";\n"
"}\n"
".lnr-arrow-down-circle:before {\n"
" content: \"\\e884\";\n"
"}\n"
".lnr-arrow-left-circle:before {\n"
" content: \"\\e885\";\n"
"}\n"
".lnr-arrow-right-circle:before {\n"
" content: \"\\e886\";\n"
"}\n"
".lnr-chevron-up-circle:before {\n"
" content: \"\\e887\";\n"
"}\n"
".lnr-chevron-down-circle:before {\n"
" content: \"\\e888\";\n"
"}\n"
".lnr-chevron-left-circle:before {\n"
" content: \"\\e889\";\n"
"}\n"
".lnr-chevron-right-circle:before {\n"
" content: \"\\e88a\";\n"
"}\n"
".lnr-crop:before {\n"
" content: \"\\e88b\";\n"
"}\n"
".lnr-frame-expand:before {\n"
" content: \"\\e88c\";\n"
"}\n"
".lnr-frame-contract:before {\n"
" content: \"\\e88d\";\n"
"}\n"
".lnr-layers:before {\n"
" content: \"\\e88e\";\n"
"}\n"
".lnr-funnel:before {\n"
" content: \"\\e88f\";\n"
"}\n"
".lnr-text-format:before {\n"
" content: \"\\e890\";\n"
"}\n"
".lnr-text-format-remove:before {\n"
" content: \"\\e891\";\n"
"}\n"
".lnr-text-size:before {\n"
" content: \"\\e892\";\n"
"}\n"
".lnr-bold:before {\n"
" content: \"\\e893\";\n"
"}\n"
".lnr-italic:before {\n"
" content: \"\\e894\";\n"
"}\n"
".lnr-underline:before {\n"
" content: \"\\e895\";\n"
"}\n"
".lnr-strikethrough:before {\n"
" content: \"\\e896\";\n"
"}\n"
".lnr-highlight:before {\n"
" content: \"\\e897\";\n"
"}\n"
".lnr-text-align-left:before {\n"
" content: \"\\e898\";\n"
"}\n"
".lnr-text-align-center:before {\n"
" content: \"\\e899\";\n"
"}\n"
".lnr-text-align-right:before {\n"
" content: \"\\e89a\";\n"
"}\n"
".lnr-text-align-justify:before {\n"
" content: \"\\e89b\";\n"
"}\n"
".lnr-line-spacing:before {\n"
" content: \"\\e89c\";\n"
"}\n"
".lnr-indent-increase:before {\n"
" content: \"\\e89d\";\n"
"}\n"
".lnr-indent-decrease:before {\n"
" content: \"\\e89e\";\n"
"}\n"
".lnr-pilcrow:before {\n"
" content: \"\\e89f\";\n"
"}\n"
".lnr-direction-ltr:before {\n"
" content: \"\\e8a0\";\n"
"}\n"
".lnr-direction-rtl:before {\n"
" content: \"\\e8a1\";\n"
"}\n"
".lnr-page-break:before {\n"
" content: \"\\e8a2\";\n"
"}\n"
".lnr-sort-alpha-asc:before {\n"
" content: \"\\e8a3\";\n"
"}\n"
".lnr-sort-amount-asc:before {\n"
" content: \"\\e8a4\";\n"
"}\n"
".lnr-hand:before {\n"
" content: \"\\e8a5\";\n"
"}\n"
".lnr-pointer-up:before {\n"
" content: \"\\e8a6\";\n"
"}\n"
".lnr-pointer-right:before {\n"
" content: \"\\e8a7\";\n"
"}\n"
".lnr-pointer-down:before {\n"
" content: \"\\e8a8\";\n"
"}\n"
".lnr-pointer-left:before {\n"
" content: \"\\e8a9\";\n"
"}\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