Следующий код предназначен для открытия текстового файла и поиска любых совпадений в списке строк, а затем вывода количества найденных результатов. По какой-то причине он всегда "находит" 0.
validcards=array("NVIDIA GRID K140Q","AMD FirePro S7150","VMware SVGA 3D")
textFile = fso.opentextfile("_cards.txt",1,0,1).readall
set fso=nothing
set query = new regexp
with query
.global=true
.multiline=true
.ignorecase=true
.pattern="^.*?" & join(validcards,".*?") & ".*?$"
end with
counter = 0
set results = query.execute(textFile)
for each result in results
stdout.WriteLine escape(result)
counter = counter + 1
next
Когда я вывожу counter
, оно всегда равно нулю. Чего мне не хватает? Вот как выглядит текстовый файл:
Name
VMware SVGA 3D
Текстовый файл генерируется с использованием wmic path win32_VideoController get name > _cards.txt
UPDATE
В отчаянии я просто распечатал файл после его загрузки. Это выглядит так:
■N a m e
V M w a r e S V G A 3 D
Мне удалось это исправить, изменив строку OpenTextFile
на textFile = fso.opentextfile("_cards.txt",1,0,-1).readall
. Однако регулярное выражение по-прежнему не работает.