Reputation: 127
I need to match either letter A
preceded by 1-5
digits or letter B
preceded by 1-4
digits.
So my regex looks like this:
(\d{1,5}A)|(\d{1,4}B)
But this matches the last 4 digits before an A
.
Any solutions?
Upvotes: 3
Views: 2336
Reputation: 308
Something along the lines of:
(\d{1,5}A)|(\d{1,4}B)
I would advise taking a look at cheatsheet. if you are unfamiliar with regular expressions and try to do these kind of simple regexs yourself.
There is also plenty of online regex testing apps such as: regextester which enable you to test your regexes without writing any code.
Upvotes: 0
Reputation: 726499
this matches the last 4 digits before an A
Require the item before your regex to not be preceded by a digit:
(?<!\d)((\d{1,5}A)|(\d{1,4}B))
Another solution is to require a word boundary with \b
.
Upvotes: 4