none
PoSH, регулярные выражения, число вхождений п\строки RRS feed

  • Вопрос

  • Добрый день,
    как определить число вхождений подстроки (и сами тэги) в исходной строке, через регулярные выражения

    $Text='<doc>fhj<a>123</a>sss<a>2345</a>lkl;<a>k</a>l;k</doc>'
    [regex]$reg = '<a>(.*)<\/a>'

    Ответ:
    3
    123
    2345
    k

    Заранее признателен
    26 января 2010 г. 9:50

Ответы

  • Если я правильно понял вопрос:

    $Text='<doc>fhj<a>123</a>sss<a>2345</a>lkl;<a>k</a>l;k</doc>'
    $Pattern = '<a>([^<]+)</a>'
    $Match = [regex]::Match($Text,$Pattern)
    $SubStrings = @()
    do
    {
        $SubStrings += $match.Groups[1].Value
        $Match = $Match.NextMatch()
    }
    while ($Match.Success)
    $SubStrings.Count
    $SubStrings


    AKA Xaegr, MCSE: Security, Messaging; MCITP: Server\Enterprise Administrator; Блог: http://xaegr.wordpress.com
    26 января 2010 г. 11:21
    Модератор

Все ответы

  • Если я правильно понял вопрос:

    $Text='<doc>fhj<a>123</a>sss<a>2345</a>lkl;<a>k</a>l;k</doc>'
    $Pattern = '<a>([^<]+)</a>'
    $Match = [regex]::Match($Text,$Pattern)
    $SubStrings = @()
    do
    {
        $SubStrings += $match.Groups[1].Value
        $Match = $Match.NextMatch()
    }
    while ($Match.Success)
    $SubStrings.Count
    $SubStrings


    AKA Xaegr, MCSE: Security, Messaging; MCITP: Server\Enterprise Administrator; Блог: http://xaegr.wordpress.com
    26 января 2010 г. 11:21
    Модератор
  • Спасибо, Василий.
    То, что надо.
    26 января 2010 г. 11:31