我正在尝试使用以下正则表达式:
(?<=----Old-------\n)(((.+\n)+)\n*?)(?=__________________________________________)
获取多行投注
----Old-------
250096 - LT Security Role: Read Only, 250032 - Sales VIC3, 250083 -
Security Role: Base Security Role, 250080 - Security Role: Payment
Allocation, 250058 - Security Role: TFM Sales Consultant, 250103 - Web
Fleet SuperUser
但是选择字符串没有返回任何内容。
我用了https://regex101.com/和https://www.regexpal.com/并且正则表达式按预期工作。
能否请你帮忙。
$ModifyOldRegex = "(?<=----Old-------\n)(((.+\n)+)\n*?)(?=__________________________________________)"
$Description | Select-String -Pattern $ModifyOldRegex.matches.Value
答案1
最后我发现了问题:
1- 使用 get-Content -Raw 使 \n 工作 // 我不确定为什么
2- 将正则表达式更改为
“(?<=----旧-------)((.+\n)+)(?=__________________________________________)”