⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 我的一个利用有限状态机的正则表达式的实现。
💻 CPP
字号:
#include "myreg.h"
#include <stdio.h>


int main(void) {

	char* regexp =  "(a|b)*c";
	int i = 0;

	REG_INTERP* inter= CompileReg( regexp );
	REG_DFA* dfa = inter->dfa;

	for ( i = 0; i< dfa->count; i++ ) {
		PrintDState( dfa->dstates[i] );
	}

	char* samples[] = {
		"abb0c", "abababb1c", "ccaaaabbc", "bb", "aaa", "ab"
	};
	char* expect[] = {
		"MATCH", "MATCH", "MATCH", "MISMATCH", "MISMATCH", "MISMATCH"
	};

	int size = sizeof(samples)/sizeof(char*);
	for( i = 0; i < size; i++ ) {
		if ( MatchReg( inter, samples[i] ) ) {
			printf( "%s MATCH %s\n", samples[i], regexp );
		} else {
			printf( "%s MISMATCH %s\n", samples[i], regexp );
		}
		printf( "EXPECTING %s\n", expect[i] );
	}

	ReleaseReg( inter );

	scanf("Press Enter...");

	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -