регулярное выражение для анализа HTML - PullRequest
0 голосов
/ 23 сентября 2009

Моя входная строка:

"<!--<clientHtml>--><br><br><br><b>Job Title:</b> Test text
<br><b>JobId:</b> 56565-116503
<br><br><b>City:</b> San Diego
<br><b>State:</b> CA
<br><b>Zip Code:</b> 92108
<br><br><br><b>Description:</b> 
            We are recruiting for a Controller to oversee all accounting and finance for a growing manufacturing company.  We are looking for someone who is hands on full cycle accounting.  


<br><br>
<!--<apply>test/apply><email></email><OriginalFetchUrl>http:test.xml</OriginalFetchUrl><OriginalWrapUrl>http://test.html</OriginalWrapUrl></clientHtml>-->";

Мне нужно извлечь следующую строку, используя C # / Регулярные выражения:

1. «Мы нанимаем Контролера для контроля за всем бухгалтерским учетом и финансами растущей производственной компании. Мы ищем кого-то, кто занимается бухгалтерским учетом полного цикла»

Я тоже хочу избавиться от строки: тест / применить> Http: test.xml http://test.html-->

Могу ли я получить помощь по коду?

Спасибо за чтение.

Ответы [ 2 ]

2 голосов
/ 23 сентября 2009

Попробуйте что-то вроде этого:

Description:</b>([^<]+)

Вот пример того, как его использовать:

using System;
using System.Text.RegularExpressions;

class Example
{
    static void Main()
    {
        String str = @"<!--<clientHtml>--><br><br><br><b>Job Title:</b> Test text
            <br><b>JobId:</b> 56565-116503
            <br><br><b>City:</b> San Diego
            <br><b>State:</b> CA
            <br><b>Zip Code:</b> 92108
            <br><br><br><b>Description:</b> 
                    We are recruiting for a Controller to oversee all accounting and finance for a growing manufacturing company.  We are looking for someone who is hands on full cycle accounting.  


            <br><br>
            <!--<apply>test/apply><email></email><OriginalFetchUrl>http:test.xml</OriginalFetchUrl><OriginalWrapUrl>http://test.html</OriginalWrapUrl></clientHtml>-->";

        Regex expression = new Regex(@"Description:</b>([^<]+)",
            RegexOptions.Compiled |
            RegexOptions.CultureInvariant |
            RegexOptions.IgnoreCase);

        Match match = expression.Match(str);

        if (match.Success)
            Console.WriteLine(match.Groups[1].Value.Trim());
    }
}
0 голосов
/ 23 сентября 2009

Попробуйте что-то вроде этого: (я не проверял.)

string result = "";
Match m = Regex.Match(line, @"^\<b\>\s*Description\s*\:\s*\<\/b\>\s*(?<result>.*?)\s*\<", RegexOptions.IgnoreCase);
if (m.Success) 
{
    result = m.Groups["result"].Value;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...