Home > Blockchain >  How to match a string with pythons regex with optional character, but only if that optional characte
How to match a string with pythons regex with optional character, but only if that optional characte

Time:11-19

I need to match a string that optionally ends with numbers, but only if the numbers aren't preceded by a 0.

so AAAA should match, AAA1 should, AA20 should, but AA02 should not.

I can figure out the optionality of it, but I'm not sure if python has a "preceded by" or "followed by" flag.

if s.isalnum() and re.match("^[A-Z] [1-9][0-9]*$", s):
        return True

CodePudding user response:

Try:

^[A-Z] (?:[1-9][0-9]*)?$

Regex demo.


^[A-Z] - match letters from the beginning of string

(?:[1-9][0-9]*)? - optionally match a number that doesn't start from 0

$ - end of string

  • Related