# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"(--.*):\s*([\w -_]+);"
test_str = (":root {\n"
" --pf-global--palette--black-100: #fafafa;\n"
" --pf-global--palette--black-150: #f5f5f5;\n"
" --pf-global--palette--black-200: #ededed;\n"
" --pf-global--palette--black-300: #d2d2d2;\n"
" --pf-global--palette--black-400: #b8bbbe;\n"
" --pf-global--palette--black-500: #8a8d90;\n"
" --pf-global--palette--black-600: #737679;\n"
" --pf-global--palette--black-700: #4f5255;\n"
" --pf-global--palette--black-800: #3c3f42;\n"
" --pf-global--palette--black-850: #212427;\n"
" --pf-global--palette--black-900: #151515;\n"
" --pf-global--palette--black-1000: #030303;\n"
" --pf-global--palette--blue-50: #def3ff;\n"
" --pf-global--palette--blue-100: #bee1f4;\n"
" --pf-global--palette--blue-200: #73bcf7;\n"
" --pf-global--palette--blue-300: #2b9af3;\n"
" --pf-global--palette--blue-400: #06c;\n"
" --pf-global--palette--blue-500: #004080;\n"
" --pf-global--palette--blue-600: #004368;\n"
" --pf-global--palette--blue-700: #002235;\n"
" --pf-global--palette--cyan-100: #a2d9d9;\n"
" --pf-global--palette--cyan-200: #73c5c5;\n"
" --pf-global--palette--cyan-300: #009596;\n"
" --pf-global--palette--cyan-400: #005f60;\n"
" --pf-global--palette--cyan-500: #003737;\n"
" --pf-global--palette--cyan-600: #003d44;\n"
" --pf-global--palette--cyan-700: #001f22;\n"
" --pf-global--palette--gold-100: #f9e0a2;\n"
" --pf-global--palette--gold-200: #f6d173;\n"
" --pf-global--palette--gold-300: #f4c145;\n"
" --pf-global--palette--gold-400: #f0ab00;\n"
" --pf-global--palette--gold-500: #c58c00;\n"
" --pf-global--palette--gold-600: #795600;\n"
" --pf-global--palette--gold-700: #3d2c00;\n"
" --pf-global--palette--green-100: #bde5b8;\n"
" --pf-global--palette--green-200: #95d58e;\n"
" --pf-global--palette--green-300: #6ec664;\n"
" --pf-global--palette--green-400: #5ba352;\n"
" --pf-global--palette--green-500: #467f40;\n"
" --pf-global--palette--green-600: #1e4f18;\n"
" --pf-global--palette--green-700: #0f280d;\n"
" --pf-global--palette--light-blue-100: #beedf9;\n"
" --pf-global--palette--light-blue-200: #7cdbf3;\n"
" --pf-global--palette--light-blue-300: #35caed;\n"
" --pf-global--palette--light-blue-400: #00b9e4;\n"
" --pf-global--palette--light-blue-500: #008bad;\n"
" --pf-global--palette--light-blue-600: #005c73;\n"
" --pf-global--palette--light-blue-700: #002d39;\n"
" --pf-global--palette--light-green-100: #e4f5bc;\n"
" --pf-global--palette--light-green-200: #c8eb79;\n"
" --pf-global--palette--light-green-300: #ace12e;\n"
" --pf-global--palette--light-green-400: #92d400;\n"
" --pf-global--palette--light-green-500: #6ca100;\n"
" --pf-global--palette--light-green-600: #486b00;\n"
" --pf-global--palette--light-green-700: #253600;\n"
" --pf-global--palette--orange-100: #f4b678;\n"
" --pf-global--palette--orange-200: #ef9234;\n"
" --pf-global--palette--orange-300: #ec7a08;\n"
" --pf-global--palette--orange-400: #c46100;\n"
" --pf-global--palette--orange-500: #8f4700;\n"
" --pf-global--palette--orange-600: #773d00;\n"
" --pf-global--palette--orange-700: #3b1f00;\n"
" --pf-global--palette--purple-100: #cbc1ff;\n"
" --pf-global--palette--purple-200: #b2a3ff;\n"
" --pf-global--palette--purple-300: #a18fff;\n"
" --pf-global--palette--purple-400: #8476d1;\n"
" --pf-global--palette--purple-500: #6753ac;\n"
" --pf-global--palette--purple-600: #40199a;\n"
" --pf-global--palette--purple-700: #1f0066;\n"
" --pf-global--palette--red-100: #c9190b;\n"
" --pf-global--palette--red-200: #a30000;\n"
" --pf-global--palette--red-300: #7d1007;\n"
" --pf-global--palette--red-400: #470000;\n"
" --pf-global--palette--red-500: #2c0000;\n"
" --pf-global--palette--white: #fff;\n"
" --pf-global--BackgroundColor--100: #fff;\n"
" --pf-global--BackgroundColor--150: #f5f5f5;\n"
" --pf-global--BackgroundColor--200: #fafafa;\n"
" --pf-global--BackgroundColor--300: #ededed;\n"
" --pf-global--BackgroundColor--light-100: #fff;\n"
" --pf-global--BackgroundColor--light-200: #fafafa;\n"
" --pf-global--BackgroundColor--light-300: #ededed;\n"
" --pf-global--BackgroundColor--dark-100: #151515;\n"
" --pf-global--BackgroundColor--dark-200: #3c3f42;\n"
" --pf-global--BackgroundColor--dark-300: #212427;\n"
" --pf-global--BackgroundColor--dark-400: #4f5255;\n"
" --pf-global--BackgroundColor--dark-transparent-100: rgba(3, 3, 3, 0.62);\n"
" --pf-global--BackgroundColor--dark-transparent-200: rgba(3, 3, 3, 0.32);\n"
" --pf-global--Color--100: #151515;\n"
" --pf-global--Color--200: #737679;\n"
" --pf-global--Color--300: #3c3f42;\n"
" --pf-global--Color--400: #8a8d90;\n"
" --pf-global--Color--light-100: #fff;\n"
" --pf-global--Color--light-200: #ededed;\n"
" --pf-global--Color--light-300: #d2d2d2;\n"
" --pf-global--Color--dark-100: #151515;\n"
" --pf-global--Color--dark-200: #737679;\n"
" --pf-global--active-color--100: #06c;\n"
" --pf-global--active-color--200: #bee1f4;\n"
" --pf-global--active-color--300: #73bcf7;\n"
" --pf-global--active-color--400: #2b9af3;\n"
" --pf-global--disabled-color--100: #737679;\n"
" --pf-global--disabled-color--200: #d2d2d2;\n"
" --pf-global--disabled-color--300: #ededed;\n"
" --pf-global--primary-color--100: #06c;\n"
" --pf-global--primary-color--200: #004080;\n"
" --pf-global--primary-color--light-100: #73bcf7;\n"
" --pf-global--primary-color--dark-100: #06c;\n"
" --pf-global--secondary-color--100: #737679;\n"
" --pf-global--default-color--100: #73c5c5;\n"
" --pf-global--default-color--200: #009596;\n"
" --pf-global--default-color--300: #003737;\n"
" --pf-global--success-color--100: #92d400;\n"
" --pf-global--success-color--200: #486b00;\n"
" --pf-global--info-color--100: #73bcf7;\n"
" --pf-global--info-color--200: #004368;\n"
" --pf-global--warning-color--100: #f0ab00;\n"
" --pf-global--warning-color--200: #795600;\n"
" --pf-global--danger-color--100: #c9190b;\n"
" --pf-global--danger-color--200: #a30000;\n"
" --pf-global--danger-color--300: #470000;\n"
" --pf-global--BoxShadow--sm: 0 0.0625rem 0.125rem 0 rgba(3, 3, 3, 0.2);\n"
" --pf-global--BoxShadow--sm-right: 0.25rem 0 0.625rem -0.25rem rgba(3, 3, 3, 0.12);\n"
" --pf-global--BoxShadow--sm-left: -0.25rem 0 0.625rem -0.25rem rgba(3, 3, 3, 0.12);\n"
" --pf-global--BoxShadow--sm-bottom: 0 0.25rem 0.625rem -0.25rem rgba(3, 3, 3, 0.12);\n"
" --pf-global--BoxShadow--sm-top: 0 -0.25rem 0.625rem -0.25rem rgba(3, 3, 3, 0.12);\n"
" --pf-global--BoxShadow--md: 0 0.0625rem 0.0625rem 0rem rgba(3, 3, 3, 0.05), 0 0.25rem 0.5rem 0.25rem rgba(3, 3, 3, 0.06);\n"
" --pf-global--BoxShadow--md-right: 0.3125rem 0 0.625rem -0.25rem rgba(3, 3, 3, 0.25);\n"
" --pf-global--BoxShadow--md-left: -0.3125rem 0 0.625rem -0.25rem rgba(3, 3, 3, 0.25);\n"
" --pf-global--BoxShadow--md-bottom: 0 0.3125rem 0.625rem -0.25rem rgba(3, 3, 3, 0.25);\n"
" --pf-global--BoxShadow--md-top: 0 -0.3125rem 0.625rem -0.25rem rgba(3, 3, 3, 0.25);\n"
" --pf-global--BoxShadow--lg: 0 0.1875rem 0.4375rem 0.1875rem rgba(3, 3, 3, 0.13), 0 0.6875rem 1.5rem 1rem rgba(3, 3, 3, 0.12);\n"
" --pf-global--BoxShadow--lg-right: 0.75rem 0 0.625rem -0.25rem rgba(3, 3, 3, 0.07);\n"
" --pf-global--BoxShadow--lg-left: -0.75rem 0 0.625rem -0.25rem rgba(3, 3, 3, 0.07);\n"
" --pf-global--BoxShadow--lg-bottom: 0 0.75rem 0.625rem -0.25rem rgba(3, 3, 3, 0.07);\n"
" --pf-global--BoxShadow--lg-top: 0 -0.75rem 0.625rem -0.25rem rgba(3, 3, 3, 0.07);\n"
" --pf-global--BoxShadow--inset: inset 0 0 0.625rem 0 rgba(3, 3, 3, 0.25);\n"
" --pf-global--font-path: assets/fonts;\n"
" --pf-global--fonticon-path: assets/pficon;\n"
" --pf-global--spacer--xs: 0.25rem;\n"
" --pf-global--spacer--sm: 0.5rem;\n"
" --pf-global--spacer--md: 1rem;\n"
" --pf-global--spacer--lg: 1.5rem;\n"
" --pf-global--spacer--xl: 2rem;\n"
" --pf-global--spacer--2xl: 3rem;\n"
" --pf-global--spacer--3xl: 4rem;\n"
" --pf-global--spacer--form-element: 0.375rem;\n"
" --pf-global--gutter: 1.5rem;\n"
" --pf-global--gutter--md: 1rem;\n"
" --pf-global--golden-ratio: 1.681;\n"
" --pf-global--ZIndex--xs: 100;\n"
" --pf-global--ZIndex--sm: 200;\n"
" --pf-global--ZIndex--md: 300;\n"
" --pf-global--ZIndex--lg: 400;\n"
" --pf-global--ZIndex--xl: 500;\n"
" --pf-global--ZIndex--2xl: 600;\n"
" --pf-global--breakpoint--xs: 0;\n"
" --pf-global--breakpoint--sm: 576px;\n"
" --pf-global--breakpoint--md: 768px;\n"
" --pf-global--breakpoint--lg: 992px;\n"
" --pf-global--breakpoint--xl: 1200px;\n"
" --pf-global--breakpoint--2xl: 1450px;\n"
" --pf-global--link--Color: #06c;\n"
" --pf-global--link--Color--hover: #004080;\n"
" --pf-global--link--Color--light: #73bcf7;\n"
" --pf-global--link--Color--light--hover: #2b9af3;\n"
" --pf-global--link--Color--dark: #06c;\n"
" --pf-global--link--Color--dark--hover: #004080;\n"
" --pf-global--link--FontWeight: 500;\n"
" --pf-global--link--TextDecoration: none;\n"
" --pf-global--link--TextDecoration--hover: underline;\n"
" --pf-global--BorderWidth--sm: 1px;\n"
" --pf-global--BorderWidth--md: 2px;\n"
" --pf-global--BorderWidth--lg: 3px;\n"
" --pf-global--BorderColor--100: #d2d2d2;\n"
" --pf-global--BorderColor--200: #8a8d90;\n"
" --pf-global--BorderColor--300: #ededed;\n"
" --pf-global--BorderColor--dark-100: #d2d2d2;\n"
" --pf-global--BorderColor--light-100: #b8bbbe;\n"
" --pf-global--BorderRadius--sm: 3px;\n"
" --pf-global--BorderRadius--lg: 30em;\n"
" --pf-global--icon--Color--light: #737679;\n"
" --pf-global--icon--Color--dark: #151515;\n"
" --pf-global--icon--FontSize--sm: 0.625rem;\n"
" --pf-global--icon--FontSize--md: 1.125rem;\n"
" --pf-global--icon--FontSize--lg: 1.5rem;\n"
" --pf-global--icon--FontSize--xl: 3.375rem;\n"
" --pf-global--FontFamily--sans-serif: overpass, overpass, open sans, -apple-system, blinkmacsystemfont, Segoe UI, roboto, Helvetica Neue, arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;\n"
" --pf-global--FontFamily--heading--sans-serif: overpass, overpass, open sans, -apple-system, blinkmacsystemfont, Segoe UI, roboto, Helvetica Neue, arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;\n"
" --pf-global--FontFamily--monospace: overpass-mono, overpass-mono, SFMono-Regular, menlo, monaco, consolas, Liberation Mono, Courier New, monospace;\n"
" --pf-global--FontFamily--redhatfont--sans-serif: RedHatText, Overpass, overpass, helvetica, arial, sans-serif;\n"
" --pf-global--FontFamily--redhatfont--heading--sans-serif: RedHatDisplay, Overpass, overpass, helvetica, arial, sans-serif;\n"
" --pf-global--FontFamily--redhatfont--monospace: Liberation Mono, consolas, SFMono-Regular, menlo, monaco, Courier New, monospace;\n"
" --pf-global--FontSize--4xl: 2.25rem;\n"
" --pf-global--FontSize--3xl: 1.75rem;\n"
" --pf-global--FontSize--2xl: 1.5rem;\n"
" --pf-global--FontSize--xl: 1.25rem;\n"
" --pf-global--FontSize--lg: 1.125rem;\n"
" --pf-global--FontSize--md: 1rem;\n"
" --pf-global--FontSize--sm: 0.875rem;\n"
" --pf-global--FontSize--xs: 0.75rem;\n"
" --pf-global--FontWeight--light: 300;\n"
" --pf-global--FontWeight--normal: 400;\n"
" --pf-global--FontWeight--semi-bold: 500;\n"
" --pf-global--FontWeight--bold: 600;\n"
" --pf-global--FontWeight--redhatfont--bold: 700;\n"
" --pf-global--LineHeight--sm: 1.3;\n"
" --pf-global--LineHeight--md: 1.5;\n"
" --pf-global--ListStyle: disc outside;\n"
" --pf-global--Transition: all 250ms cubic-bezier(0.42, 0, 0.58, 1);\n"
" --pf-global--TimingFunction: cubic-bezier(0.645, 0.045, 0.355, 1);\n"
" --pf-global--TransitionDuration: 250ms;\n"
" --pf-global--arrow--width: 0.9375rem;\n"
" --pf-global--arrow--width-lg: 1.5625rem;\n"
" --pf-global--target-size--MinWidth: 44px;\n"
" --pf-global--target-size--MinHeight: 44px; }\n\n"
".pf-m-redhat-font {\n"
" --pf-global--FontFamily--sans-serif: var(--pf-global--FontFamily--redhatfont--sans-serif);\n"
" --pf-global--FontFamily--heading--sans-serif: var(--pf-global--FontFamily--redhatfont--heading--sans-serif);\n"
" --pf-global--FontFamily--monospace: var(--pf-global--FontFamily--redhatfont--monospace);\n"
" --pf-global--FontWeight--semi-bold: var(--pf-global--FontWeight--redhatfont--bold);\n"
" --pf-global--FontWeight--bold: var(--pf-global--FontWeight--redhatfont--bold);\n"
" --pf-global--link--FontWeight: var(--pf-global--FontWeight--normal); }\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