Visa signatur
...man is not free unless government is limited. There's a clear cause and effect here that is as neat and predictable as a law of physics: As government expands, liberty contracts.
Jag har inte stenkoll på regexp och att Pythons re-modul inte verkar begripa exempelvis $ gör det inte lättare.
Hur skulle ni skriva en re-kompatibel regexp som matchar följande:
>>> pattern = "något svårt här."
>>> gibberish = "1qazxsw23edcvfr enkel@hotmail.com 45tgbnhy€lite-svar.are@domain1.domain2.d3.nu67ujmki87uj"
>>> re.findall(pattern, gibberish)
['enkel@hotmail.com', 'lite-svar.are@domain1.domain2.d3.nu']
Det svåra här är är att epostadresserna i strängen inte behöver börja med ett whitespace, utan allting före @ får matchas bakåt så långt det går tills det stöter på ett ogiltigt tecken. Allting efter @ ska matchas så långt det går tills en domänändelse hittas, som inte heller behöver sluta med ett whitespace. För enkelhetens skull säger vi att ändelsen kan skrivas \.[a-zA-Z]{2,3}
Tack.
...man is not free unless government is limited. There's a clear cause and effect here that is as neat and predictable as a law of physics: As government expands, liberty contracts.
>>> re.findall(r"[a-zA-Z0-9_.-]+?@[a-zA-Z0-9_.-]+\.[a-zA-Z]{2,3}", gibberish)
EDIT: Äh var ju mycket enklare än jag först trodde.
EDIT: Finns lite regler om hur email:s får se ut här.
http://www.ilovejackdaniels.com/php/email-address-validation/
(som min regexp inte följer)
Copyright © 1999–2024 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.