<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def with_matching_args(self, *args, **kwargs):
 """Set the last call to expect specific argument values if those arguments exist. Unlike :func:`fudge.Fake.with_args` use this if you want to only declare expectations about matching arguments. Any unknown keyword arguments used by the app under test will be allowed. For example, you can declare positional arguments but ignore keyword arguments: .. doctest:: With this declaration, any keyword argument is allowed: .. doctest:: .. doctest:: :hide: .. note:: you may get more mileage out of :mod:`fudge.inspector` functions as described in :func:`fudge.Fake.with_args` """

        exp = self._get_current_call()
        if args:
            exp.expected_matching_args = args
        if kwargs:
            exp.expected_matching_kwargs = kwargs
        return self