在Python中检查正则表达式模式是否与字符串匹配的程序
假设我们有一个字符串s和一个正则表达式模式。我们必须检查给定的模式是否与给定的字符串匹配。在正则表达式中,几乎没有规则-
。(句点)匹配任何单个字符
*(星号),它与零个或多个前一个元素匹配。
因此,如果输入类似于pattern=“hl*o”s=“hello”,则输出将为True,因为我们有ra然后是单个字符
例
让我们看下面的实现以更好地理解-
class Solution:
def solve(self, p, s):
n = len(s)
m = len(p)
def dp(i, j):
if j == m:
return i == n
match = i < n and (s[i] == p[j] or p[j] == ".")
if j + 1 < m and p[j + 1] == "*":
return dp(i, j + 2) or (match and dp(i + 1, j))
return match and dp(i + 1, j + 1)
return dp(0, 0)
ob = Solution()
pattern = "h.l*o"
s = "hello"
print(ob.solve(pattern, s))输入值
"h.l*o", "hello"输出结果
True
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短