We only support two query scenarios if the query is based on SEARCH_PROPERTY.RESOURCE_NAME_EXPRESSION.
1. A simple RESOURCE_NAME based query
2. A complex query with one RESOURCE_TYPE based child query and one RESOURCE_NAME based child query

Resource name expression based permission sets can be queried out in below scenarios:
1. If MATCHER.EXACT is set and search value matches the expression, the expression based permission set is returned.
For example, given two permission sets:
PermSet1 = {<"http://www.oracle.com", "GET">}, PermSet2 = {<"http://.*", "GET">}
PermissionSetSearchQuery(SEARCH_PROPERTY.RESOURCE_NAME_EXPRESSION, false, ComparatorType.EQUALITY, "http://www.oracle.com", MATCHER.EXACT) returns both PermSet1 and PermSet2
2. If MATCHER.BEGINS_WITH is set and the expression begins with search value (literally), the expression based permission set is returned.
For example, given two permission sets:
PermSet1 = {<"http://www.oracle.com", "GET">}, PermSet2 = {<"http://.*", "GET">}
PermissionSetSearchQuery(SEARCH_PROPERTY.RESOURCE_NAME_EXPRESSION, false, ComparatorType.EQUALITY, "http://", MATCHER.BEGINS_WITH) returns both PermSet1 and PermSet2
3. If MATCHER.BEGINS_WITH is set and the expression ends with search value (literally), the expression based permission set is returned.
For example, given two permission sets:
PermSet1 = {<"http://www.oracle.com", "GET">}, PermSet2 = {<"http://.*", "GET">}
PermissionSetSearchQuery(SEARCH_PROPERTY.RESOURCE_NAME_EXPRESSION, false, ComparatorType.EQUALITY, ".com", MATCHER.ENDS_WITH) returns PermSet1
4. If MATCHER.BEGINS_WITH is set and the expression contains search value (literally), the expression based permission set is returned.
For example, given two permission sets:
PermSet1 = {<"http://www.oracle.com", "GET">}, PermSet2 = {<"http://.*", "GET">}
PermissionSetSearchQuery(SEARCH_PROPERTY.RESOURCE_NAME_EXPRESSION, false, ComparatorType.EQUALITY, "ttp", MATCHER.CONTAINED_IN) returns both PermSet1 and PermSet2