请实现一个函数用来匹配包括’.’和’*’的正则表达式。模式中的字符’.’表示任意一个字符,而’*’表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配 数据范围: 1.str 只包含从 a-z 的小写字母。 2.pattern 只包含从 a-z 的小写字母以及字符 . 和 *,无连续的 ‘*’。 3. 4.
区块链毕设网qklbishe.com为您提供问题的解答
请实现一个函数用来匹配包括’.’和’*’的正则表达式。模式中的字符’.’表示任意一个字符,而’*’表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配
数据范围:
1.str 只包含从 a-z 的小写字母。
2.pattern 只包含从 a-z 的小写字母以及字符 . 和 *,无连续的 ‘*’。
3.
4.
4.
importjava.util.*;
publicclassMain{
publicstaticvoidmain(String[] args){
Scanner in =newScanner(System.in);
String str=in.next();
String pattern=in.next();
System.out.println(match(str,pattern));
}
publicstaticbooleanmatch (String str, String pattern) {
intn1 = str.length();
intn2 = pattern.length();
//dp[i][j]表示str前i个字符和pattern前j个字符是否匹配 fast-template
boolean[][] dp =newboolean[n1 +1][n2 +1];
//遍历str每个长度
for(inti =0; i <= n1; i++) {
//遍历pattern每个长度
for(intj =0; j <= n2; j++) {
//空正则的情况
if(j ==0) {
dp[i][j] = (i ==0?true:false);
//非空的情况下 星号、点号、字符
}else{
if(pattern.charAt(j -1) !=’*’) {
//当前字符不为*,用.去匹配或者字符直接相同
if(i >0&& (str.charAt(i -1) == pattern.charAt(j -1) ||
pattern.charAt(j -1) ==’.’)) {
dp[i][j] = dp[i -1][j -1];
}
}else{
//碰到*
if(j >=2) {
dp[i][j] |= dp[i][j -2];
}
//若是前一位为.或者前一位可以与这个数字匹配
if(i >=1&& j >=2&& (str.charAt(i -1) == pattern.charAt(j -2) ||
pattern.charAt(j -2) ==’.’)) {
dp[i][j] |= dp[i -1][j];
}
}
}
}
}
returndp[n1][n2];
}
}
37:22
以上就是关于问题请实现一个函数用来匹配包括’.’和’*’的正则表达式。模式中的字符’.’表示任意一个字符,而’*’表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配
数据范围: 1.str 只包含从 a-z 的小写字母。 2.pattern 只包含从 a-z 的小写字母以及字符 . 和 *,无连续的 ‘*’。 3.
4.的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训
从业7年-专注一级市场
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 请实现一个函数用来匹配包括’.’和’*’的正则表达式。模式中的字符’.’表示任意一个字符,而’*’表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配
数据范围: 1.str 只包含从 a-z 的小写字母。 2.pattern 只包含从 a-z 的小写字母以及字符 . 和 *,无连续的 ‘*’。 3.
4.
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 请实现一个函数用来匹配包括’.’和’*’的正则表达式。模式中的字符’.’表示任意一个字符,而’*’表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配
数据范围: 1.str 只包含从 a-z 的小写字母。 2.pattern 只包含从 a-z 的小写字母以及字符 . 和 *,无连续的 ‘*’。 3.
4.
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 请实现一个函数用来匹配包括’.’和’*’的正则表达式。模式中的字符’.’表示任意一个字符,而’*’表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配
数据范围: 1.str 只包含从 a-z 的小写字母。 2.pattern 只包含从 a-z 的小写字母以及字符 . 和 *,无连续的 ‘*’。 3.
4.
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 请实现一个函数用来匹配包括’.’和’*’的正则表达式。模式中的字符’.’表示任意一个字符,而’*’表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配 数据范围: 1.str 只包含从 a-z 的小写字母。 2.pattern 只包含从 a-z 的小写字母以及字符 . 和 *,无连续的 ‘*’。 3. 4.