Regular Expression Matching (Java)
来源:互联网 发布:java进度条代码 编辑:程序博客网 时间:2024/05/17 08:55
Implement regular expression matching with support for '.'
and '*'
.
'.' Matches any single character.'*' Matches zero or more of the preceding element.The matching should cover the entire input string (not partial).The function prototype should be:bool isMatch(const char *s, const char *p)Some examples:isMatch("aa","a") → falseisMatch("aa","aa") → trueisMatch("aaa","aa") → falseisMatch("aa", "a*") → trueisMatch("aa", ".*") → trueisMatch("ab", ".*") → trueisMatch("aab", "c*a*b") → true
尤其注意"ab"和".*"这种匹配,由于‘.'代表任何一个字符,对于'.'的‘*’扩充可以得到任意多个'.',所以ab和.*匹配。
Source
public boolean isMatch(String s, String p) { if(p.length() == 0){ if(s.length() == 0) return true; else return false; } if(p.length() == 1){ if(s.length() == 1 && (p.charAt(0) == s.charAt(0) || p.charAt(0) == '.')) return true; else return false; } if(p.charAt(1) != '*'){ if(s.length() != 0 && (s.charAt(0) == p.charAt(0) || p.charAt(0) == '.') && isMatch(s.substring(1), p.substring(1))) //此处递归 return true; else return false; } else{ while(s.length() != 0 && (s.charAt(0) == p.charAt(0) || p.charAt(0) == '.')){ if(isMatch(s, p.substring(2))) //*** return true; s = s.substring(1); } return isMatch(s, p.substring(2)); } }
Test
public static void main(String[] args){ String s = "ab"; String p = ".*"; System.out.println(new Solution().isMatch(s, p)); }
0 0
- Regular Expression Matching (Java)
- [Leetcode] Regular Expression Matching (Java)
- Regular Expression Matching Leetcode Java
- [LeetCode][Java] Regular Expression Matching
- Regular Expression Matching in Java
- LeetCode : Regular Expression Matching [java]
- leetcode Regular Expression Matching(Java)
- LeetCode – Regular Expression Matching in Java
- LeetCode – Regular Expression Matching in Java
- leetcode10-Regular Expression Matching之Java版本
- [LeetCode] 10. Regular Expression Matching java
- Leetcode题解---Regular Expression Matching Java实现
- [leetcode]10. Regular Expression Matching(Java)
- LeetCode: Regular Expression Matching
- LeetCode: Regular Expression Matching
- leetcode Regular Expression Matching
- [Leetcode] Regular Expression Matching
- Regular Expression Matching
- 百度快照不稳定
- 快过年了,发亲手制作的新年贺卡。
- 大数运算之大数乘法
- 3 Locally weighted linear regression, logistic Regression
- 使用TT模板+mvc+wcf实现简单查询
- Regular Expression Matching (Java)
- erlang--otp17.0---安装
- DSAPI多功能组件编程应用-反射相关
- SQL优化--查询优化技术分类
- android表情开发 为TextView加超链接
- 完整版linux下android源码下载、编译、模拟器启动运行
- 在项目开发中,jsp页面不会少了,如何公用页面(添加页面和修改页面)和公用样式代码(css,js)?
- Bootstrap入门
- ZJNU——1259:幸运数字(找规律题)