Regex,单词排列和视觉基础



我有一个单词列表文本文件,大小很小,长度不到几百个单词。我想取一个关键字并将其与单词列表进行核对,保存所有匹配项并将其显示在列表框中。

我对编程还很陌生,我一直在研究regex来匹配部分模式,并开始研究创建一个函数来生成关键字的每个排列/组合的列表,然后根据单词列表运行它们。

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

我真的只是想被指向正确的方向,而不是任何事情。

如果我理解正确,您只想找到包含指定关键字中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'

最新更新