码迷,mamicode.com
首页 > 其他好文 > 详细

5.22 字符串匹配问题

时间:2019-01-01 17:18:25      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:不能   lse   一个   表示   函数   匹配   来源   字符串匹配   指南   

题目】:

  给定字符串str,其中绝对不含有字符‘.‘和‘*‘。再给定字符串exp,其中可以含有‘.‘或‘*‘,‘*‘字符不能是exp的首字符,并且任意两个‘*‘字符不相邻。exp中的‘.‘代表任何一个字符,exp中的‘*‘表示‘*‘的前一个字符可以有0个或者多个。请写一个函数,判断str是否能被exp匹配

  举例:

    str="abc",exp="abc",返回true

    str="abc",exp="a.c",exp中单个‘.‘可以代表任意字符,所以返回true

    str="abcd",exp=".*"。exp中‘*‘的前一个字符是‘.‘,所以可以表示任意数量的‘.‘字符,当exp是"...."时与"abcd"匹配,返回true

    str="",exp="..*"。exp中‘*‘的前一个字符是‘.‘,可表示任意数量的‘.‘字符,但是".*"之前还有一个‘.‘字符,该字符不受‘*‘的影响,所以str起码有一个字符才能被exp匹配。所以返回false

 

题目来源:左程云老师《程序员代码面试指南》

5.22 字符串匹配问题

标签:不能   lse   一个   表示   函数   匹配   来源   字符串匹配   指南   

原文地址:https://www.cnblogs.com/latup/p/10204996.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!