regex.go 910 B

12345678910111213141516171819202122232425262728293031
  1. /*
  2. *
  3. * Copyright 2021 gRPC authors.
  4. *
  5. * Licensed under the Apache License, Version 2.0 (the "License");
  6. * you may not use this file except in compliance with the License.
  7. * You may obtain a copy of the License at
  8. *
  9. * http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS,
  13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. * See the License for the specific language governing permissions and
  15. * limitations under the License.
  16. *
  17. */
  18. package grpcutil
  19. import "regexp"
  20. // FullMatchWithRegex returns whether the full text matches the regex provided.
  21. func FullMatchWithRegex(re *regexp.Regexp, text string) bool {
  22. if len(text) == 0 {
  23. return re.MatchString(text)
  24. }
  25. re.Longest()
  26. rem := re.FindString(text)
  27. return len(rem) == len(text)
  28. }