實現最簡單的正規表示式

2021-05-28 11:47:36 字數 811 閱讀 6578

/*

如:「j* smi??」 可以匹配「john smith」 .

請用c語言實現如下函式:」

void scan(const char* psztext, const char* pszname);

以下並未完全按要求實現,但意思到了。

gcc 4.5.2

*/#include #include using namespace std;

char const * regexp_probe(char const * src, char const * pattern)

char c = *pattern;

if(isalpha(c) || c == ' ')

else

}else

} else if(c == '?')

else if(regexp_probe(src + 1, pattern + 1))

else

} else if(c == '*')

else if(*src == 0)

else

}} else if(c == 0)

else

}char const * regexp_match(char const * src, char const * pattern)

++src;

} if(*pattern == 0)

return 0;

}void test(char const *src, char const *ptn)

int main()

最簡單的正規表示式

最簡單的正規表示式 hi 能匹配的字串 舉例 hi him his this philips 只想要這個結果 bhi b b hh i b b h h i b 那麼只匹配 hi d 匹配數字串 匹配結果 10000,1234567,222222,8888888等等 b 匹配乙個單詞的邊界 表示式 b...

最簡單的正規表示式例題

import re str1 中文名 貝拉克 海珊 歐巴馬,外文名 barack hussein obama ii,別名 歐巴馬,國籍 美國,民族 德裔族,出生地 美國夏威夷州檀香山,出生日期 1961年8月4日,職業 政治家 律師 畢業院校 哥倫比亞大學 哈佛大學,信仰 新教,主要成就 1996年...

實現簡單的正規表示式引擎

回想起第一次看到正規表示式的時候,眼睛裡大概都是 7 0 w d 心裡我是拒絕的。不過在後面的日常工作裡,越來越多地開始使用到正規表示式,正規表示式也逐漸成為乙個很常用的工具。要掌握一種工具除了了解它的用法,了解它的原理也是同樣重要的,一般來說,正則引擎可以粗略地分為兩類 dfa determini...