情景
我有一个包含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"行呢?
(仅记录包含&#34的行;测试 - "和" .htm")
答案 0 :(得分:0)
将模式参数更改为test-\d*.htm
'\ d' - “匹配任何数字字符(0-9)”
'*' - “匹配或更多前面的标记”
所以它会匹配任意数字的数字
如果您想匹配至少4位数字,可以使用test-\d{4,}.htm
我建议使用此网站使用正则表达式:http://regexr.com/
答案 1 :(得分:0)
谢谢大家的提示!
最终我得到了它:
test-.{4,}\.htm$
这样我就可以在结果行中包含数字+字符(例如“ test-a12c.htm ”)和在关键字“test”之前有某些内容的行(例如“这是 test-13bg.htm ”。
@ user1432893
您提供的网站帮助了我! THX!
@ Dave Sexton
在参数中使用^它不起作用。