Как я возвращаю только регулярное выражение соответствия когда я избранная строка (grep) в PowerShell?

Последовательность столбцов в примере определяется массивом selectedColumns . По умолчанию в компоненте MultiSelect он добавляет любые изменения в конец массива. Поэтому вы должны сортировать его после каждого события изменения в MultiSelect. Добавьте обработчик событий modelChange ()


И в своем файле ts компонента

  modelChange(event) {
    console.log('change fired')
    this.selectedColumns = event;
    this.selectedColumns.sort(
      function compare(a, b) {
        if (a.field < b.field)
          return -1;
        if (a.field > b.field)
          return 1;
        return 0;
      }

    );
    console.log(this.selectedColumns);
  }
}

посмотрите демонстрацию здесь: https: // stackblitz.com/edit/angular7-template-fork-first-ow8wtw

41
задан Peter Mortensen 8 September 2013 в 19:20
поделиться

5 ответов

David's on the right path. [regex] is a type accelerator for System.Text.RegularExpressions.Regex

[regex]$regex = '.-.-.'
$regex.Matches('abc 1-2-3 abc') | foreach-object {$_.Value}
$regex.Matches('abc 1-2-3 abc 4-5-6') | foreach-object {$_.Value}

You could wrap that in a function if that is too verbose.

26
ответ дан 27 November 2019 в 00:20
поделиться

Или просто:

Select-String .-.-. .\test.txt -All | Select Matches
38
ответ дан 27 November 2019 в 00:20
поделиться

Я попробовал другой подход: Select-String возвращает свойство Matches, которое можно использовать. Чтобы получить все совпадения, вы должны указать -AllMatches. В противном случае возвращается только первый.

Содержимое моего тестового файла:

test test1 alk atest2 asdflkj alj test3 test
test test3 test4
test2

Сценарий:

select-string -Path c:\temp\select-string1.txt -Pattern 'test\d' -AllMatches | % { $_.Matches } | % { $_.Value }

возвращает

test1 #from line 1
test2 #from line 1
test3 #from line 1
test3 #from line 2
test4 #from line 2
test2 #from line 3

Select-String на technet.microsoft.com

22
ответ дан 27 November 2019 в 00:20
поделиться

В духе научите человека ловить рыбу ...

Что вы хотите сделать, так это передать результат вашей команды select-string в Get-member ], чтобы вы могли видеть, какими свойствами обладают объекты. Как только вы это сделаете, вы увидите «Совпадения», и вы сможете выбрать именно это, направив свой вывод в | ** Select-Object ** Соответствует .

Я предлагаю использовать что-то вроде: выберите номер полотна, имя файла, соответствует

Например: в образце stej:

sls .\test.txt -patt 'test\d' -All |select lineNumber,fileName,matches |ft -auto

LineNumber Filename Matches
---------- -------- -------
         1 test.txt {test1, test2, test3}
         2 test.txt {test3, test4}
         3 test.txt {test2}
11
ответ дан 27 November 2019 в 00:20
поделиться

Вы можете использовать пространство имен System.Text.RegularExpressions:

http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.aspx

2
ответ дан 27 November 2019 в 00:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: