Я хочу найти некоторые шаблоны регулярных выражений в файлах (* .txt), которые находятся внутри папки, путь которой я указал в текстовом поле, и папка содержит другие подпапки с txt-файлами в форме 12345 \ 2031 \ 30201 \ txt \ 120.txt, и если шаблон совпадает даже в одном файле, строка записывается в файл журнала, который создается внутри папки, путь которой я указывал в текстовом поле, а затем она переходит к следующему регулярное выражение и так далее Что я сделал до сих пор являетсяКак сопоставить несколько шаблонов регулярных выражений в нескольких файлах и записать что-то в файл журнала?
Dim tLoc As String = TextBox1.Text
Dim txtFilesArray = Directory.EnumerateFiles(tLoc, "*.txt", SearchOption.AllDirectories).Where(Function(f) f Like "*\#*\#*\#*\txt\#*.txt")
Dim fileLoc As String = tLoc & "\Checklist.log"
Dim fs As FileStream = Nothing
If (Not File.Exists(fileLoc)) Then
fs = File.Create(fileLoc)
Using fs
End Using
End If
For Each tFile In txtFilesArray
Dim input As String = File.ReadAllText(tFile)
Dim pattern1 As New Regex("(?<!>)(figure|fig\.|figs\.|figures) (\d+)")
Dim pattern2 As New Regex("(?<!>)(table|tab\.|tabs\.|tables) (\d+)")
If pattern1.IsMatch(input) Then
FileOpen(1, fileLoc, OpenMode.Append)
PrintLine(1, "Check figure link")
FileClose()
End If
If pattern2.IsMatch(input) Then
FileOpen(1, fileLoc, OpenMode.Append)
PrintLine(1, "Check table link")
FileClose()
End If
Next
Но проблемы: 1) Даже если pattern1
матчей в нескольких файлах, я хочу, чтобы написать строку Проверить фигурную ссылку только один раз в файле журнала и не каждый раз, когда он находит совпадение в разных файлах и тот же для pattern2 .... patternN, более того, я хочу, чтобы программа переходила к следующему шаблону регулярного выражения, совпадающему с моментом совпадения pattern1
в одном файле (нет необходимости искать тот же шаблон в других файлах) 2) У меня есть около сотни шаблонов регулярных выражений, которые я хочу использовать в этой программе, может ли кто-нибудь сказать мне, как мне сократить кодировку?
Звучит как вещь программирования, а не вещь регулярного выражения. Я думаю, вы можете удалить тег 'regex'. – Whothehellisthat