我有一个包含以下数据的文本文件。例如:test.txt
20Jun@17:28 Ticket = [ABCDEF]
21Jun@17:28 12345
22Jun@17:28 This is a test line
25Jun@17:28 Ticket = [ABCDEF]
25Jun@17:28 Ticket = [123456]
25Jun@17:28 This is a test line
25Jun@17:28 Ticket = [DFG256]
25Jun@17:28 Ticket = [ABCDEF]
我选择了一个如下变量来捕获今天的条目。
$date=get-date -format ddMMM
$match=select-string -pattern $date $filename
这很好但是新的要求不需要捕获今天的每个条目。
只需捕获其中包含名称为Ticket的条目的行。 那么有没有办法让我的模式如下:
25Jun@17:28 Ticket = [ABCDEF]
$date+@+......'Ticket = ['......']' --is there something like this..
我对Regex知之甚少:(
答案 0 :(得分:4)
您的模式如下:
"$date[@]\d+:\d+ Ticket"
定义票证的模式是:
"$date@\d+:\d+ Ticket = [[]ABCDEF[]]"
答案 1 :(得分:-1)
第二行应该是:
$match=select-string -pattern $date $filename | where-object {$_ -match "\d\d\w\w\w.+Ticket"}