[困难] 10. 正则表达式匹配
AI-摘要
CaiCai GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
本文最后更新于 2024-06-26,文章内容可能已经过时。
描述
给你一个字符串 s
和一个字符规律 p
,请你来实现一个支持 '.'
和 '*'
的正则表达式匹配。
'.'
匹配任意单个字符'*'
匹配零个或多个前面的那一个元素
所谓匹配,是要涵盖 整个 字符串 s
的,而不是部分字符串。
代码
func isMatchV1(s string, p string) bool {
return dfs(s, p, len(s)-1, len(p)-1)
}
func dfs(s, p string, i, j int) bool {
if j < 0 {
return i < 0
}
if p[j] == '*' {
if i < 0 || (p[j-1] != '.' && p[j-1] != s[i]) {
return dfs(s, p, i, j-2)
}
return dfs(s, p, i-1, j) || dfs(s, p, i, j-2)
}
if i < 0 {
return false
}
if p[j] == '.' || s[i] == p[j] {
return dfs(s, p, i-1, j-1)
}
return false
}
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 caicaiBlog
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果