簡體   English   中英

在一行中搜索兩種不同的字符串模式

[英]Search two different string patterns in one line

場景

我有一個包含3行的* .txt文件:

test-1234.htm
test-5678.htm
somefile.htm

我需要一個腳本,該腳本將在該* .txt文件中找到特定的字符串模式。

當前,以下腳本將在* .txt文件中找到所有* .htm文件,並將結果存儲在指定的results.log文件中。

dir *.txt | Select-String -pattern "\.htm$" |Select-Object -Expandproperty line | Out-File results.log -Encoding utf8 -Width 500

如何修改它,使其僅找到所有“ test-****。htm”行?

(僅記錄包含“ test-”和“ .htm”的行)

將模式參數更改為test-\\d*.htm

'\\ d'-“匹配任何數字字符(0-9)”

'*'-“與前面的令牌匹配或更多”

因此它將匹配任意數量的數字

如果要匹配至少4位數字,可以使用test-\\d{4,}.htm

我建議您使用以下網站與正則表達式一起玩: http : //regexr.com/

謝謝大家的提示!

最終我得到了它的配合:

test-.{4,}\.htm$

這樣,我還可以在結果行中包含數字和字符(例如“ test-a12c.htm ”)和關鍵字“ test”之前存在某些內容的行(例如“ this is a test-13bg”)。 htm ”。

@ user1432893

您提供的網站幫助了我! 謝謝!

@戴夫·塞克斯頓

帶有^的參數無效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM