Как вывести все строки в соответствии с регулярным выражением в Powershell? - PullRequest
0 голосов
/ 12 сентября 2018

Я хочу найти в файле это регулярное выражение:

<html:productType>.+?</html:productType>

Как вывести в другой файл все совпадения. +? из вышеупомянутого регулярного выражения? Кроме того, вы рекомендуете какие-либо другие инструменты / языки сценариев для такого рода вещей?

1 Ответ

0 голосов
/ 12 сентября 2018

Поскольку нет информации о структуре данных, будь то XML или HTML или что-то еще, Powershell и Regex были бы достаточно хороши.Я рекомендую регулярное выражение именованной группы, чтобы отметить важный фрагмент.Смотрите следующую демонстрацию:

#prepare demo data
@'
<node>
  <html:productType>ABC</html:productType>
  <html:productType>DEF</html:productType>
</node>
'@ | Out-File Demo.txt

cat Demo.txt | Select-String '<html:productType>(?<MyGroup>.+?)<\/html:productType>' | % {
    $_.Matches[0].Groups['MyGroup'].Value
} | Out-File Demo.out
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...