Is the entire string

YYXXratsXX

matched by the regular expression

`([XY]++)rats\1`

No. `([XY]++)`

matches `YYXX`
and keeps possession that substring.
So group 1 is `YYXX` and so `\1`

does not match the `XX` at the end of the string.

Any of the quantifiers can be made possessive

Possessive Quantifiers matches as many of X as it can and keeps hold of them | |
---|---|

Quantifier | Description |

`X?+` | zero or one X |

`X*+` | zero or more X |

`X++` | one or more X |

`X{n}+` | exactly n X |

`X{n,}+` | n or more X |

`X{n,m}+` | n up to m X |

For example, `X{2,5}+`

will match between two and five X,
and keeps what it has matched.

The expression `X{2}+`

must match exactly two X
and is equivalent to `X{2}?`

and is equivalent to `X{2}`

.

Which of the following regular expressions match the complete string `abc123defg` ?

`.*[0-9]+.*`

`.*+[0-9]+.*`

`.*[0-9]++.*`

`.*[0-9]+.*+`