题目描述
请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配
ac:100%
import java.util.regex.Pattern;
public class Solution {
public boolean match(char[] str, char[] pattern)
{
if(str.length == 0 && pattern.length == 0) {
return true;
}
String string = new String(str);
String regex = new String(pattern);
regex = regex.replace(".", "[\\s\\S]");
return Pattern.matches(regex, string);
}
}
本文介绍了一种使用Java实现的正则表达式匹配算法,该算法能够处理包括'.'和'*'在内的复杂正则表达式。通过将输入的字符数组转换为字符串,并对模式中的'.'进行替换,使其能匹配任意字符,最终利用Java内置的Pattern类完成匹配过程。
780

被折叠的 条评论
为什么被折叠?



