Reputation: 904
Ok, i have a regex pattern like this /^([SW])\w+([0-9]{4})$/
This pattern should match a string like SW0001
with SW
-Prefix and 4 digits.
I thougth [0-9]{4}
would do the job, but it also matches strings with 5 digits and so on.
Any suggestions on how to get this to work to only match strings with SW
and 4 digits?
Upvotes: 62
Views: 235914
Reputation: 27428
If you want to get into regex and match 4 numbers... You can backslash the periods too.
get-childitem | where name -match 'journal.\d{4}.txt'
Upvotes: 1
Reputation: 87203
Let's see what the regex /^([SW])\w+([0-9]{4})$/
match
\w
= [a-zA-Z0-9_]
)This match more than just SW0001
.
Use the below regex.
/^SW\d{4}$/
This regex will match string that starts with SW
followed by exactly four digits.
Upvotes: 83
Reputation: 22412
in regex,
^
means you want to match the start of the string$
means you want to match the end of the stringso if you want to match "SW" + exactly 4 digits you need
^SW[0-9]{4}$
Upvotes: 30