带有通配符的字符串匹配算法

问题描述

带有通配符的字符串匹配算法

C/C++实现
之前面试。遇见一个字符串匹配问题。
大概是这样的:
正常的匹配就不说了,
第一,'*'可以代表连续多个字符。
第二,’a+'可以代表‘aa', 'aaa', 'aaaa'.....类推。
第三,’.‘代表一个任意字符(非*, +);
字符串str,模式串假设名为mdstr;
我当时想的是str,mdstr都是有'*",等符号的。
后来觉得str应该没有*
我给出了一个可行的算法。暂不提,后来面试官说。两个字符串都允许*.
谁能提供一个思路。考虑效率。

解决方案

google nfa dfa 有穷自动机 词法分析C++ 等关键字

解决方案二:

直接用正则表达式

解决方案三:

楼上正解,正则表达式网上到处都是!

时间: 2024-09-16 06:48:29

带有通配符的字符串匹配算法的相关文章

指令-linux 批量替换带有空格的字符串

问题描述 linux 批量替换带有空格的字符串 将多个文件中的 //#define LOG 0 批量替换成 #define LOG 0 求linux指令,或者是一个脚本 重复写一遍: 将多个文件中的 //#define LOG 0 批量替换成 #define LOG 0 求linux指令,或者是一个脚本 解决方案 替换a.txt中的 sed -i "s@//#define LOG 0@#define LOG 0@" a.txt 解决方案二: 直接字符串匹配 用python的string

c++ monte carlo 字符串匹配算法,

问题描述 c++ monte carlo 字符串匹配算法, monte carlo 字符串匹配 求代码,求注释啊.谢谢好心人

解析带有函数的字符串

问题描述 怎样解析带有函数的字符串比如:abs(abs(1)+2*(1+3)) 解决方案 解决方案二:你想要什么结果?解决方案三:引用楼主libo19872011的回复: 怎样解析带有函数的字符串比如:abs(abs(1)+2*(1+3)) 用c#动态编译吧..解决方案四:我实在datatable上进行操作的.就是在列之间进行的运算.比如:第二列值=abs(第一列)+2*(第二列值)之类的解决方案五:楼主搞编译原理吗?解决方案六:不是的啊,不知道这样功能怎样实现啊解决方案七:引用5楼libo19

字符串匹配算法之BF(Brute-Force)算法

蛮力搜索,比较简单的一种字符串匹配算法,在处理简单的数据时候就可以用这种算法,完全匹配,就是速度慢啊. 基本思想 从目标串s 的第一个字符起和模式串t的第一个字符进行比较,若相等,则继续逐个比较后续字符,否则从串s的第二个字符起再重新和串t进行比较.  依此类推,直至串t 中的每个字符依次和串s的一个连续的字符序列相等,则称模式匹配成功,此时串t的第一个字符在串s 中的位置就是t 在s中的位置,否则模式匹配不成功. 具体实现 int BFindex(String S, String T) { i

java按字节截取带有汉字的字符串的解法(推荐)_java

由于接口使用的oracle字段长度为固定字节数,然后传进来的字符串估计比数据库字段的总字节数要大,那么截取小于数据库字节数的字符串. 自己参考网上的例子,整了个递归调用就可以了,因为截取的字符字节长度必须小与数据库的字节长度,即如果最后一个字符为汉字,那么只能去掉往前截取. /** * 判断传进来的字符串,是否 * 大于指定的字节,如果大于递归调用 * 直到小于指定字节数 ,一定要指定字符编码,因为各个系统字符编码都不一样,字节数也不一样 * @param s * 原始字符串 * @param

最简单的php中字符串匹配算法教程

本文实例讲述了php中最简单的字符串匹配算法,具体实现方法如下:  代码如下 复制代码 <?php /* 最简单字符串匹配算法php实现方式   T: ababcabc P: abc   0.          1.          2. ababcabc    ababcabc    ababcabc |||          |||          ||| abc          abc          abc (X)          (X)          (O)   3.  

PowerShell中使用Like运算符配合通配符查找字符串例子_PowerShell

本文介绍在PowerShell中使用通配符来查找字符串,和通配符一起使用的是like运算符. 在PowerShell中的通配符是星号(*)和问号(?),这跟DOS系统中是一样的.要使用通配符在字符串中查找,可以使用like运算符.举例如下: "123"是以1开头 复制代码 代码如下: PS C:\Users\splaybow> "123" -like "1*" True "123"是以1开头,3结尾 复制代码 代码如下:

php中最简单的字符串匹配算法_php技巧

本文实例讲述了php中最简单的字符串匹配算法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php /* 最简单字符串匹配算法php实现方式   T: ababcabc P: abc   0.          1.          2. ababcabc    ababcabc    ababcabc |||          |||          ||| abc          abc          abc (X)          (X)         

php中单字符串匹配算法实例

   代码如下 复制代码 <?php /* 最简单字符串匹配算法php实现方式   T: ababcabc P: abc   0.          1.          2. ababcabc    ababcabc    ababcabc |||          |||          ||| abc          abc          abc (X)          (X)          (O)   3.          4.          5. ababcabc