我試圖在批處理文件中運行正則表達式,該文件將搜索字符串的文本文件。但是,我的字符串唯一的唯一標識符位於字符串之後,但位於同一行。正則表達式,在「某些字符串」之前搜索字符串
我在文件中搜索項目的註冊表項。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{RegistryKey} DisplayName REG_SZ Node.js
是唯一然而,唯一的字符串是Node.js的一部分,所以我需要使用註冊表編輯器來尋找RegistryKey
的DisplayName REG_SZ Node.js
文本之前。如果有人對此有任何建議,那會很有幫助。
目前選擇我使用
/(\{.*\})(\n\s*.)(DisplayName REG_SZ Node.js)
的字符串,我可以選擇的字符串。有沒有方法可以批量訪問捕獲組1?這樣我就可以擁有我需要的registryKey了?
編輯通過要求:
在批處理我想這樣的事情目前
@ECHO off
::reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{6BA2207A-7E42-434C-8DD4-A2FFC1D9EA68}" > nul
REG Query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ /V "DisplayName" /S >> testSearch.txt
::type "testName"
for /F "tokens=*" %%A in (testSearch.txt) do echo %%A
findstr /r /x "/(\{.*\})(\n\s*.)(DisplayName REG_SZ Node.js)" testSearch.txt >> saveLine.txt
pause
我現在的問題是我只是想救對照組1(爲{}的RegistryKey) 我我猜想我可以使用保存的文本文件並在javascript中解析它以返回註冊表項,我一直在使用大量Javascript和批量交錯的節點。
顯示您的實際代碼,而不僅僅是您的正則表達式。 – abelenky
是的,請顯示它。我很好奇看到'批'執行REGEX ... – Stephan
[findstr](https://ss64.com/nt/findstr.html)只有REGEX的一個非常有限的子集。沒有辦法讓它甚至遠程執行你想要的。 (並且它是'cmd'中的_only_命令,它至少支持REGEX的最小值)。 – Stephan