剑指 Offer 19. 正则表达式匹配
正则表达式 匹配 Offer 19
2023-09-14 08:56:53 时间
![](https://img2022.cnblogs.com/blog/1468919/202206/1468919-20220620151311220-289735259.png)
https://leetcode.cn/problems/zheng-ze-biao-da-shi-pi-pei-lcof/
func isMatch(s string, p string) bool { n:=len(s);m:=len(p) vis:=make([][]bool,0,n+1) //n+1是为了处理空串 for i:=0;i<n+1;i++{ vis=append(vis,make([]bool,m+1)) } //fmt.Println(vis) for i:=0;i<=n;i++{ for j:=0;j<=m;j++{ if j==0&&i==0{ vis[i][j]=true }else if j==0{ vis[i][j]=false }else{ //第一种情况,p[i-1]==s[j-1]||p[j-1]=. if p[j-1]!='*'{ if i>0&&(s[i-1]==p[j-1]||p[j-1]=='.'){ //注意条件判断加上() vis[i][j]=vis[i-1][j-1] } }else{ //第二种情况p[j-1]=*&&*是不匹配s的任何字符,即0次的情况 if j>=2{ vis[i][j]=vis[i][j]||vis[i][j-2] } //第三种情况p[j-1]==*&&匹配n次的情况 if i>=1&&j>=2&&(s[i-1]==p[j-2]||p[j-2]=='.'){//注意条件判断加上() vis[i][j]=vis[i][j]||vis[i-1][j] //这里为啥用||,是在第二种满足的情况下,也会走到这个逻辑 } } } } } return vis[n][m] }
相关文章
- 【JavaScript】正则表达式
- Java正则表达式
- Perl中的正则表达式(五)
- Java魔法堂:深入正则表达式API
- 正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
- 正则表达式匹配数字
- java 正则匹配空格字符串 正则表达式截取字符串
- 使用正则表达式匹配进行文件类名的更改并且去除注释
- 正则表达式中^的用法
- Javascript中正则表达式的全局匹配模式
- linux shell 脚本攻略学习17--正则表达式入门
- JavaScript RegExp Object 正则表达式入门
- Linux Shell脚本自动化编程实战-正则表达式RE
- python正则表达式
- 【LeetCode 10】正则表达式匹配
- 一个利用正则表达式进行代码重构,去除冗余代码的例子
- NLP:利用count函数或正则表达式compile、findall、finditer实现匹配统计(包括模糊匹配的贪婪匹配、懒惰匹配)、对多个字符串组成的列表进行多个模糊关键词进行模糊匹配案例
- Python爬虫从入门到精通——基本库re的使用:正则表达式
- 正则表达式.匹配不到n 的文本
- 剑指 Offer 19. 正则表达式匹配-递归
- Python: 正则表达式匹配多行,实现多行匹配模式
- 使用方便 正则表达式grep,sed,awk(一)
- Javascript正则表达式的初步学习
- linux正则表达式筛选IP地址的三种方式
- R中 grep gusb sub 正则表达式 匹配与替换|取代
- python里使用正则表达式来替换匹配成功的组并输出替换的次数
- python里使用正则表达式的边界符进行匹配
- python里使用正则表达式的全匹配功能
- 正则表达式”d+.?d*”在匹配下列字符串时结果是失败的是?
- 正则表达式的限定符、或运算符、字符类、元字符、贪婪/懒惰匹配
- MySQL REGEXP:正则表达式查询
- Java的正则表达式
- 常用的正则表达式