Click here to Skip to main content
15,881,812 members
Articles / Programming Languages / C#

Aho-Corasick string matching in C#

Rate me:
Please Sign up or sign in to vote.
4.88/5 (39 votes)
3 Dec 2005CPOL5 min read 258.5K   7.8K   122  
A C# implementation of the very efficient Aho-Corasick keyword matching algorithm with multiple keywords support.
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EeekSoft.Text", "EeekSoft.Text\EeekSoft.Text.csproj", "{42097326-3218-46DC-8E8F-C57C70C7F39D}"
	ProjectSection(ProjectDependencies) = postProject
	EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EeekSoft.Text.Test", "EeekSoft.Text.Test\EeekSoft.Text.Test.csproj", "{42097326-3218-46DC-8E8F-C57C70C7F39D}"
	ProjectSection(ProjectDependencies) = postProject
	EndProjectSection
EndProject
Global
	GlobalSection(SourceCodeControl) = preSolution
		SccNumberOfProjects = 2
		SccProjectUniqueName0 = EeekSoft.Text\\EeekSoft.Text.csproj
		SccProjectName0 = \u0022$/EeekSoft.Text\u0022,\u0020CKBAAAAA
		SccLocalPath0 = EeekSoft.Text
		SccProvider0 = MSSCCI:Microsoft\u0020Visual\u0020SourceSafe
		CanCheckoutShared = true
		SccProjectUniqueName1 = EeekSoft.Text.Test\\EeekSoft.Text.Test.csproj
		SccProjectName1 = \u0022$/EeekSoft.Text.Test\u0022,\u0020XNDAAAAA
		SccLocalPath1 = EeekSoft.Text.Test
		SccProvider1 = MSSCCI:Microsoft\u0020Visual\u0020SourceSafe
		CanCheckoutShared = true
	EndGlobalSection
	GlobalSection(SolutionConfiguration) = preSolution
		Debug = Debug
		Release = Release
	EndGlobalSection
	GlobalSection(ProjectConfiguration) = postSolution
		{42097326-3218-46DC-8E8F-C57C70C7F39D}.Debug.ActiveCfg = Debug|.NET
		{42097326-3218-46DC-8E8F-C57C70C7F39D}.Debug.Build.0 = Debug|.NET
		{42097326-3218-46DC-8E8F-C57C70C7F39D}.Release.ActiveCfg = Release|.NET
		{42097326-3218-46DC-8E8F-C57C70C7F39D}.Release.Build.0 = Release|.NET
		{42097326-3218-46DC-8E8F-C57C70C7F39D}.Debug.ActiveCfg = Debug|.NET
		{42097326-3218-46DC-8E8F-C57C70C7F39D}.Debug.Build.0 = Debug|.NET
		{42097326-3218-46DC-8E8F-C57C70C7F39D}.Release.ActiveCfg = Release|.NET
		{42097326-3218-46DC-8E8F-C57C70C7F39D}.Release.Build.0 = Release|.NET
	EndGlobalSection
	GlobalSection(ExtensibilityGlobals) = postSolution
	EndGlobalSection
	GlobalSection(ExtensibilityAddIns) = postSolution
	EndGlobalSection
EndGlobal

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Czech Republic Czech Republic
I live in Prague, the capital city of Czech republic (most of the time Smile | :) ). I've been very interested in functional programming recently and I have a passion for the new Microsoft F# language. I'm writing a book about Functional Programming in the Real World that shows the ideas using examples in C# 3.0 and F#.

I've been Microsoft MVP (for C#) since 2004 and I'm one of the most active members of the F# community. I'm a computer science student at Charles University of Prague. My hobbies include photography, fractals and of course many things related to computers (except fixing them). My favorite book writers are Terry Pratchett and Philip K Dick and I like paintings by M. C. Escher.

PS: My favorite codeproject icon is Sheep | [baah] .

Comments and Discussions