Python: Getting text of a Regex match
python, regex
Solution
You can simply use the match object's `group` function, like:
match = re.search(r"1.3", "abc123xyz")
if match:
doSomethingWith(match.group(0))
to get the entire match. EDIT: as thg435 points out, you can also omit the `0` and just call `match.group()`.
Addtional note: if your pattern contains parentheses, you can even get these submatches, by passing `1`, `2` and so on to `group()`.
Problem
I have a regex match object in Python. I want to get the text it matched. Say if the pattern is `'1.3'`, and the search string is `'abc123xyz'`, I want to get `'123'`. How can I do that? I know I can use `match.string[match.start():match.end()]`, but I find that to be quite cumbersome (and in some cases wasteful) for such a basic query. Is there a simpler way?