
Can,I have a look
中文意思是:可以,我看看
也可以读作:Yes, let me see
can
英 [kæn] 美 [kæn]
aux
可以;能;能够;可能
vt
将…装入密封罐中保存
n
罐头;(用金属或塑料制作的)容器;(马口铁或其他金属制作的)食品罐头
第三人称单数: cans 复数: cans 现在分词: canning 过去式: could 过去分词: could
have a look
英 [hæv ə luk] 美 [hæv e lʊk]
看一看
can 英[kæn] 美[kæn]
aux 可以; 能; 能够; 可能;
vt 将…装入密封罐中保存;
n 罐头; (用金属或塑料制作的) 容器; (马口铁或其他金属制作的) 食品罐头;
[例句]Pork is also the most versatile of meats It can be roasted whole or in pieces
在肉类中,猪肉的做法也是最多的,可以整块烤来吃,也可以切片烤来吃。
[其他] 第三人称单数:cans 复数:cans 现在分词:canning 过去式:could过去分词:could
题意:"^":必须对应字符串的开头
"$":必须对应字符串的末尾
"":必须对应一个字符(任意一个字符)
程序:
#include "stdafxh"
#include <iostream>
using namespace std;
#include <cstring>
//从arrayF的第bg(从0开始算起)个位置开始找与m相同的元素,返回位置
int FindMatchLoc(char &_arrayF,char m,int bg)
{
char arrayF = new char[];
arrayF = _arrayF;
int curF = bg;
while ((curF<strlen(arrayF))&&(arrayF[curF]!=m))
{
curF++;
}
return curF;
delete []arrayF;
}
//从_org的第curO(从0开始计算)个位置开始,从_match的第curM(从0开始计算)个位置开始,进行匹配
//成功返回1 反之返回0
bool Match(char &_org,char &_match,int curO,int curM)
{
char org = new char[];
char match = new char[];
org = _org;
match = _match;
while ((curO<strlen(org))&&(curM<strlen(match)))
{
if (match[curM] == '')
{
curM ++;
curO ++;
}
else if (match[curM] == org[curO])
{
curM ++;
curO ++;
}
else if ((match[curM] == '$')&&curO == strlen(org))
{
return true;
}
else
{
return false;
}
}
if (curM ==strlen(match)||match[curM] == '$')
{
return true;
}
return false;
delete []org;
delete []match;
}
//正则表达式的主调用函数
bool RegularExpress(char &_org,char &_match)
{
char org = new char[];
char match = new char[];
org = _org;
match = _match;
if((strlen(org) == 0)||(strlen(match) == 0))
{
return false;
}
else
{
int curM = 0;
int curO = 0;
bool canS = false;//是否还可能进行下次查找。如abcdad 中找ad中的a
if (match[0] == '^')
{
curM = 1;
curO = 0;
canS = false;
return Match(org,match,curO,curM);
}
else if(match[0] == '')
{
curM = 1;
canS = true;
int bg = 1;
while(canS)
{
curO = FindMatchLoc(_org,match[1],bg);
if(Match(org,match,curO,curM))
{
return true;
}
else
{
bg = curO + 1;
if (bg<strlen(org))
{
canS = true;
}
else
{
canS = false;
}
}
}
}
else if (match[0] == '$')
{
return false;
}
else
{
curM = 0;
canS = true;
int bg = 0;
while(canS)
{
curO = FindMatchLoc(_org,match[0],bg);
if(Match(org,match,curO,curM))
{
return true;
}
else
{
bg = curO + 1;
if (bg<strlen(org))
{
canS = true;
}
else
{
canS = false;
}
}
}
}
}
return false;
delete []org;
delete []match;
}
//主函数
void main()
{ char strOrg;
char strMatch;
while(1)
{
strOrg = new char[];
strMatch = new char[];
cin>>strOrg;
cin>>strMatch;
if(RegularExpress(strOrg ,strMatch))
{
cout<<"hit"<<endl;
}
else
{
cout<<"lost"<<endl;
}
}
delete []strOrg;
delete []strMatch;
}
结果显示:(见图)
思路:主要是将要match的式子的形式进行分类,和strOrg的匹配都是相同的:挨个字符进行。
(^__^) 加油~~
以上就是关于Can,I have a look是什么意思全部的内容,包括:Can,I have a look是什么意思、can是什么意思、C++正则表达式 全家老少一波流,所有财富都给你 只要帮我解决~~~等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)