嘗試使用FINDSTR以匹配遵循以下格式的文本:如何使用Findstr正則表達式匹配破折號( - )?
PTB-14 AIR-217
我遇到的問題是,我似乎無法得到findstr
相匹配,對儀表板,-
。我創建了下面的腳本在批處理文件:
set dash=-
echo.%dash%
echo !dash! | findstr /i /r /C:- >nul
if errorlevel 1 (
echo "ERROR!" >&2
)
我已經試過正則表達式與/C:-
,/C:"-"
,/C:"\-"
和/C:"\\-"
。我似乎無法得到它匹配。任何人都知道我在做什麼錯了?
你似乎沒有啓用delayedexpansion,所以'echo!dash!'將被字面上的迴應。使用'echo-| findstr/C:' - ''或'echo%dash%| findstr/C:「 - 」' – LotPings
...或者,如果你因爲某種原因堅持延遲擴展,'cmd/V/C回聲^!破折號!! | findstr/I/C:「 - 」';順便說一句,當你搜索一個文字字符'-'時,你應該刪除'/ R'選項(不是正則表達式)。而不是'如果ErrorLevel 1',你也可以使用'||'運算符:'... | > nul findstr/I/C:「 - 」|| >&2 nul echo ERROR ^^!'...... – aschipfl
我想知道角色班是否會有所幫助。如果短劃線是類中的第一個,最後一個或唯一的字符,那麼它將被視爲文字。例如: [-] –