Я хотел бы создать простой сценарий PowerShell, который:
- Принимает входной файл .tex
- , заменяет вхождения
\input{my_folder/my_file}
на само содержимое файла - выводит новый файл
Мой первый шаг - сопоставить разные имена файлов, чтобы импортировать их, хотя следующий код выводит не только имена файлов, но и \include{file1}
, \include{file2}
и т. д.
$ms = Get-Content ms.tex -Raw
$environment = "input"
$inputs = $ms | Select-String "\\(?:input|include)\{([^}]+)\}" -AllMatches | Foreach {$_.matches}
Write-Host $inputs
Я думал, что использование круглых скобок создаст соответствующую группу, но это не поможет, вы можете мне объяснить, почему и как правильно просто получить имена файлов вместо полного соответствия?
В regex101 это регулярное выражение \\(?:input|include)\{([^}]+)\}
, кажется, работает нормально.