Python regex string matching?

I’m having a hell of a time trying to transfer my experience with javascript regex to Python.

I’m just trying to get this to work:


…but it prints None. If I do:


It matches… does it by default match the beginning of the string? When it does match, how do I use the result?

How do I make the first one match? Is there better documentation than the python site offers?

Here is Solutions:

We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.

Solution 1

re.match implicitly adds ^ to the start of your regex. In other words, it only matches at the start of the string. will retry at all positions.

Generally speaking, I recommend using and adding ^ explicitly when you want it.

Solution 2

the docs is clear i think.

re.match(pattern, string[, flags])¶

If zero or more characters **at the beginning of string** match the

regular expression pattern, return a corresponding MatchObject
instance. Return None if the string does not match the pattern; note
that this is different from a zero-length match.

Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from or, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply