Eine kleine Regex Sammlung für Powershell
Inhaltsverzeichnis
IP Adresse
((?:(?:1\d\d|2[0-5][0-5]|2[0-4]\d|0?[1-9]\d|0?0?\d).){3}(?:1\d\d|2[0-5][0-5]|2[0-4]\d|0?[1-9]\d|0?0?\d))
Demo
$string = "256.256.111.256 456 192.168.2.1 111.700.900.800"
$regex = '((?:(?:1\d\d|2[0-5][0-5]|2[0-4]\d|0?[1-9]\d|0?0?\d)\.){3}(?:1\d\d|2[0-5][0-5]|2[0-4]\d|0?[1-9]\d|0?0?\d))'
[regex]::Matches($string , $regex) | %{ $_.Value}
MAC Adresse
(([0-9a-f]{2}:){5}[0-9a-f]{2})
Demo
"AA-BB-CC-11-22-33" -match '^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$'
Mail Adresse
[a-z0-9!#\$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#\$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?
Demo
$string='asdfasdf asdfasfasdf e.mail@domain.com asdfas asdf'
$regex="[a-z0-9!#\$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#\$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?"
[regex]::MAtch($string, $regex, "IgnoreCase ")
ASCII Zeichen von 33 bis 126
[^ -x7e]
Demo
"Johannes ÿõæé§" -replace "[^ -x7e]"
Starkes Kennwort
min. 12 Zeichen, Groß- & Kleinbuchstaben, Zahl oder Sonderzeichen
^(?=.[a-z])(?=.[A-Z])(?=.\d)(?=.[@$!%?&])[A-Za-z\d@$!%?&]{12,}$
Demo
"superkennwort123!" -match "^(?=.[a-z])(?=.[A-Z])(?=.\d)(?=.[@$!%?&])[A-Za-z\d@$!%?&]{12,}$"
URLs
(?:http|s?ftp)s?://[^\s,<>"]+
Demo
$regex = '(?:http|s?ftp)s?://[^\s,<>"]+'
$content = $(Invoke-WebRequest croix.at).Content
[regex]::Matches($content , $regex) | %{ $_.Value}