首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
正则表达式匹配
[编程题]正则表达式匹配
热度指数:398597
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 128M,其他语言256M
算法知识视频讲解
请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配
示例1
输入
"aaa","a*a"
输出
true
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(358)
邀请回答
收藏(2694)
分享
提交结果有问题?
467个回答
30篇题解
开通博客
法拉利201903231900848
发表于 2019-08-06 02:37:34
/* 解这题需要把题意仔细研究清楚,反正我试了好多次才明白的。 首先,考虑特殊情况: 1>
展开全文
中工升达预备毕业生
发表于 2019-09-25 22:11:51
很不错的题目,点赞!(自己也只是写出了总体的思路) 作对题目首先要读清题意:在本题中,匹配是指字符串的所有字符匹配整个模式。 模式串中可能存在'.*',它是贪婪匹配,在使整个表达式能得到匹配的前提下匹配尽可能多的字符。例如字符串"abcdeded"与模式"a.*d"匹配。 按下一个字符是否是'
展开全文
Ironxin
发表于 2020-04-27 21:41:45
题目描述请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。 解法有很多,有非递归的写法,动态规划以及递归,感觉这个题属于难题了,能做出来即可,难度高还追
展开全文
空白offer++
发表于 2020-03-02 21:43:42
本来我也是分情况讨论的,但后来绕晕了而且还有数组越界异常,就全删了,然后想起来直接利用库函数正则表达式匹配把,就去复习了一下 public class Solution { public boolean match(char[] str, char[] pattern) {
展开全文
郭家兴0624
发表于 2019-08-12 14:38:57
题目描述请实现一个函数用来匹配包括'.'和''的正则表达式。模式中的字符'.'表示任意一个字符,而''表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配。
展开全文
yuhao.xyz
发表于 2020-03-02 17:20:46
正则表达式匹配 题目描述 请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与
展开全文
抽血自助取号
发表于 2020-05-18 16:11:54
import re class Solution: # s, pattern都是字符串 def match(self, s, pattern): # write code here #pattern = '^[a-z]*(\.[a-z]*)?[a-z]
展开全文
扣得皮
发表于 2020-02-04 17:38:13
public class Solution { public boolean match(char[] str, char[] pattern) { //检查边界 if(str==null||pattern==null){ retu
展开全文
Java小白zzm
发表于 2020-02-24 01:15:30
思路:递归计算,关键在于多种情况的分析。我将模式串的3种情况‘.’,‘字母相等’,‘字母不相等’分别讨论每种情况分为两种子情况,模式串的后一位是' * '和不是' * '。设置两个指针i,j表示str和Pattern的下标,还有一种特殊的情况当i==str.length时也可能返回true。我将这种
展开全文
比克9527
发表于 2020-09-06 04:17:08
剑指offer:52.正则表达式匹配 思路1 递归匹配 当模式中的第二个字符不是“*”时:1、如果字符串第一个字符和模式中的第一个字符相匹配,那么字符串和模式都后移一个字符,然后匹配剩余的。2、如果字符串第一个字符和模式中的第一个字符相不匹配,直接返回false。 而当模式中的第二个字符是“”
展开全文
问题信息
字符串
难度:
467条回答
2694收藏
112217浏览
热门推荐
通过挑战的用户
洒脱的懒羊羊要发财
2023-03-12 18:00:20
牛客42096...
2023-03-06 15:43:59
staycalm1
2022-10-28 19:58:00
牛客89076...
2022-10-27 10:43:52
Pursue2...
2022-10-19 18:30:30
相关试题
明明的随机数
数组
评论
(3692)
来自
华为研发工程师编程题
分页系统的逻辑地址结构是一维的,分...
操作系统
评论
(1)
关于分段系统与分页系统的区别,描述...
操作系统
评论
(1)
已知a
40
=...
京东
职能
2019
财务
保险
评论
(1)
有20000人的就餐需求,现建了一...
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
import java.util.*; public class Solution { public boolean match(char[] str, char[] pattern) { } }
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param str string字符串 * @param pattern string字符串 * @return bool布尔型 */ bool match(string str, string pattern) { // write code here } };
# -*- coding:utf-8 -*- class Solution: # s, pattern都是字符串 def match(self, s, pattern): # write code here
class Solution { public bool match(char[] str, char[] pattern) { // write code here } }
//s, pattern都是字符串 function match(s, pattern) { // write code here } module.exports = { match : match };
package main /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param s string字符串 * @param pattern string字符串 * @return bool布尔型 */ func match( s string , pattern string ) bool { // write code here }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # @param s string字符串 # @param pattern string字符串 # @return bool布尔型 # class Solution def match(s, pattern) # write code here end end
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param s string字符串 * @param pattern string字符串 * @return bool布尔型 */ def match(s: String,pattern: String): Boolean = { // write code here } }
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param s string字符串 * @param pattern string字符串 * @return bool布尔型 */ fun match(s: String,pattern: String): Boolean { // write code here } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param s string字符串 * @param pattern string字符串 * @return bool布尔型 */ public boolean match (String s, String pattern) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param s string字符串 * @param pattern string字符串 * @return bool布尔型 */ export function match(s: string, pattern: string): boolean { // write code here }
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param s string字符串 * @param pattern string字符串 * @return bool布尔型 */ func match ( _ s: String, _ pattern: String) -> Bool { // write code here } }
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param s string字符串 * @param pattern string字符串 * @return bool布尔型 */ pub fn match(&self, s: String, pattern: String) -> bool { // write code here } }
"aaa","a*a"
true