正则表达式,单词排列和视觉基础

时间:2013-08-14 13:30:04

标签: .net regex vb.net string

我有一个wordlist文本文件,体积小,长度不到几百字。我想获取一个关键字并根据wordlist检查,保存所有匹配并将其显示在列表框中。

我对编程很新,我一直在研究正则表达式以匹配部分模式,并且已经开始研究创建一个函数来生成关键字的每个排列/组合的列表,然后针对单词列表运行它们。

我希望有人可以提供帮助。我希望理想情况下匹配列表中按顺序共享四个以上字母的任何单词(意思是,如果列表中包含stephen且关键字为steph12345,那么我希望匹配。但是step_gtkyn0123会通过)。

我真的只是想要指出正确的方向。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您只想查找包含指定关键字中5个或更多连续字母的单词。这个位置并不重要。请尝试以下方法:

 Dim words As String() = New String() {"steph", "steph123", "step_gtk", "stephan", "123steph123", "step1stph"}
 Dim keyword As String = "steph12345"
 'match must be greater than 4, so substring 5
 Dim rgx As String = keyword.Substring(0, 5)

 For Each word As String In words

     If Regex.IsMatch(word, rgx) Then
         Console.WriteLine(word)
     End If
 Next

'Outputs
'steph
'steph123
'stephan
'123steph123'