# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"\v(knop\.\h*(\v|$))"
test_str = ("PROGNOS FÖR OMRÅDE B DEN SÖDRA DELEN \n"
"GÄLLANDE DEN 31 JANUARI 2016 MELLAN 08 OCH 14 UTC \n"
" \n"
" \n"
"Turbulens \n"
"Område 3a,3b,3c,3d: Mot slutet av perioden måttlig turbulens, \n"
"SFC-3000ft. \n"
" \n"
" \n"
"Isbildning \n"
"Område 1b,1c,3a: I mitten och mot slutet av perioden lätt till \n"
"måttlig isbildning mellan 1000ft och FL070. \n"
"Område 2a,2b,3b,3c,3d: Under hela perioden lätt till måttlig \n"
"isbildning mellan 1000ft och FL070. \n"
" \n"
" \n"
"Sikt/Väder/Moln \n"
"Område 3c: I början av perioden sikt över 8km snöfall, lokalt \n"
"1500-3000m i snöblandat regn. Molnbas över 2000ft, lokalt 500-1000ft. \n"
"Molnöversida FL070. I mitten av perioden sikt över 8km, lokalt \n"
"3000-5000m i snöfall. Molnbas 500-1000ft, lokalt över 2000ft. \n"
"Molnöversida FL070. Mot slutet av perioden sikt över 8km. Molnbas \n"
"över 2000ft. Molnöversida FL070. \n"
"Område 2b: I början och mitten av perioden sikt över 8km, lokalt \n"
"1500-3000m i snöfall. Molnbas över 2000ft, lokalt under 500ft. \n"
"Molnöversida FL070. Mot slutet av perioden sikt över 8km, lokalt \n"
"3000-5000m i snöfall. Molnbas över 2000ft, lokalt 500-1000ft. \n"
"Molnöversida >FL125. \n"
"Område 3b: I början och mitten av perioden sikt 1500-3000m snöfall, \n"
"lokalt över 8km. Molnbas över 2000ft, lokalt under 500ft. \n"
"Molnöversida FL070. Mot slutet av perioden sikt över 8km. Molnbas \n"
"över 2000ft. Molnöversida FL070. \n"
"Område 2c: Under hela perioden sikt över 8km. Molnbas över 2000ft. \n"
"Molnöversida FL070. \n"
"Område 3d: I början av perioden sikt över 8km snöfall, lokalt \n"
"1500-3000m i snöblandat regn. Molnbas 500-1000ft, lokalt över 2000ft. \n"
"Molnöversida FL070. I mitten av perioden sikt över 8km, lokalt \n"
"3000-5000m i snöfall. Molnbas 500-1000ft, lokalt över 2000ft. \n"
"Molnöversida FL070. Mot slutet av perioden sikt över 8km. Molnbas \n"
"över 2000ft. Molnöversida FL070. \n"
"Område 1a: Under hela perioden sikt över 8km. Molnbas över 2000ft. \n"
"Molnöversida: Ingen prognos. \n"
"Område 1c: Under hela perioden sikt över 8km. Molnbas över 2000ft, \n"
"lokalt 500-1000ft. Molnöversida FL070. \n"
"Område 2a: Under hela perioden sikt 1500-3000m snöfall, lokalt över \n"
"8km. Molnbas över 2000ft, lokalt under 500ft. Molnöversida >FL125. \n"
"Område 1b: I början av perioden sikt över 8km. Molnbas över 2000ft. \n"
"Molnöversida: Ingen prognos. I mitten och mot slutet av perioden sikt \n"
"över 8km. Molnbas över 2000ft, lokalt 500-1000ft. Molnöversida FL070. \n"
"Område 3a: I början av perioden sikt över 8km. Molnbas över 2000ft. \n"
"Molnöversida: Ingen prognos. I mitten av perioden sikt över 8km, \n"
"lokalt 1500-3000m i snöfall. Molnbas över 2000ft, lokalt under 500ft. \n"
"Molnöversida FL070. Mot slutet av perioden sikt över 8km, lokalt \n"
"3000-5000m i snöfall. Molnbas över 2000ft, lokalt 500-1000ft. \n"
"Molnöversida FL070. \n"
" \n"
" \n"
"Nollgradersisoterm \n"
"I hela området: Noll grader vid 500ft. \n"
" \n"
"Vind vid marken \n"
"Område 2b,2c: S-SV/5-10 knop, efterhand S-SV/10 knop. \n"
"Område 3b,3c,3d: SV-V/10-15 knop, byar upp till 25 knop, efterhand \n"
"V/15-20 knop, byar upp till 30 knop. \n"
"Område 3a: S-SV/5-10 knop, efterhand V/15-20 knop, byar upp till 30 \n"
"knop. \n"
"Område 1a: SV/10-15 knop. \n"
"Område 2a: SV-V/10-15 knop, byar upp till 25 knop. \n"
"Område 1b,1c: SV/15-20 knop, efterhand SV-V/15-20 knop. \n"
" \n"
" \n"
"Vind och temperatur \n"
"2000ft: \n"
"I hela området: 240/25kt -1, efterhand 260/25kt -1 \n"
"FL50: \n"
"I hela området: 260/25kt -7, efterhand 280/30kt -8 \n"
"FL100: \n"
"I hela området: 250/25kt -17, efterhand 270/30kt -17 \n"
" \n"
"Lägsta QNH \n"
"982 hPa, lägst i norr, stigande \n"
" \n"
"Tilläggsinformation \n"
"Förekomsten av TCU eller CB innebär alltid risk för måttlig till svår \n"
"isbildning och turbulens, även om det inte framgår explicit av \n"
"prognosen.")
subst = "$1"
# You can manually specify the number of replacements by changing the 4th argument
result = re.sub(regex, subst, test_str, 1)
if result:
print (result)
# 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