Я практикую PowerShell на Codewars. В настоящее время я борюсь с этим довольно простым упражнением .
Моя проблема в том, что мое совпадение не совпадает правильно, или я не понял, какая строка является входной. Я пытаюсь найти набор данных для данного числа. Ввод представляет собой строку, представляющую телефонную книгу. Информация в каждом наборе находится в случайном порядке.
Поэтому я уже пытался сначала разбить вход после каждой новой строки (-split "\n"
). Не сработало, поэтому я попробовал это со спичкой. (например, -match ".*48-421-674-8974.*\n"
). Теперь, что я ожидал бы в Matches
, это вся информация для этого числа до следующего '\ n'. Но вместо этого я получаю набор данных, который я хотел ПЛЮС на следующей строке. Я уже пробовал \\n
, \\\\n
, одинарные / двойные кавычки. Но я не могу найти никакого решения самостоятельно.
Так что в настоящее время мой ввод такой:
"<Sophia Loren> +1-421-674-8974 Bern TP-46017\n <Peter O'Brien> High
Street +1-908-512-2222; CC-47209\n"*
"<Anastasia> +48-421-674-8974 Via Quirinal Roma\n <P Salinger>
Main Street, +1-098-512-2222, Denver\n"*
"<C Powel> *+19-421-674-8974 Chateau des Fosses Strasbourg F-68000\n
<Bernard >Deltheil +1-498-512-2222; Mount Av. Eldorado\n"
И мое регулярное выражение ".*48-421-674-8974.*\\n"
(МойRegex online)
Я ожидал бы такой результат:
<Anastasia> +48-421-674-8974 Via Quirinal Roma\n
, но я получаю:
"<Anastasia> +48-421-674-8974 Via Quirinal Roma\n <P Salinger> Main Street, +1-098-512-2222, Denver\n"
Я также пытался сопоставить илиразделение снова после этого результата, но это тоже не сработало.