前端之家收集整理的这篇文章主要介绍了
正则表达式匹配,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
模式匹配
- public class Solution {
-
- public boolean match(char[] str,char[] pattern)
- {
-
- return new String(str).matches(new String(pattern));
- }
-
- public boolean match2(char[] str,char[] pattern) {
- if (str == null || pattern == null) {
- return false;
- }
- int strIndex = 0;
- int patternIndex = 0;
- return matchCore(str,strIndex,pattern,patternIndex);
- }
-
- public boolean matchCore(char[] str,int strIndex,char[] pattern,int patternIndex) {
-
- if (strIndex == str.length && patternIndex == pattern.length) {
- return true;
- }
-
- if (strIndex != str.length && patternIndex == pattern.length) {
- return false;
- }
-
- if (patternIndex + 1 < pattern.length && pattern[patternIndex + 1] == '*') {
- if ((strIndex != str.length && pattern[patternIndex] == str[strIndex]) || (pattern[patternIndex] == '.' && strIndex != str.length)) {
- return matchCore(str,patternIndex + 2)
- || matchCore(str,strIndex + 1,patternIndex + 2)
- || matchCore(str,patternIndex);
- } else {
- return matchCore(str,patternIndex + 2);
- }
- }
-
- if ((strIndex != str.length && pattern[patternIndex] == str[strIndex]) || (pattern[patternIndex] == '.' && strIndex != str.length)) {
- return matchCore(str,patternIndex + 1);
- }
- return false;
- }
-
-
- }@H_403_172@