Sử dụng regex, tôi muốn có thể lấy văn bản giữa nhiều thẻ DIV. Ví dụ, sau đây:Sử dụng regex để nhận văn bản giữa nhiều thẻ HTML
<div>first html tag</div>
<div>another tag</div>
Would đầu ra:
first html tag
another tag
Các mô hình regex Tôi đang sử dụng chỉ phù hợp với thẻ div cuối cùng của tôi và nhớ đầu tiên. Code:
static void Main(string[] args)
{
string input = "<div>This is a test</div><div class=\"something\">This is ANOTHER test</div>";
string pattern = "(<div.*>)(.*)(<\\/div>)";
MatchCollection matches = Regex.Matches(input, pattern);
Console.WriteLine("Matches found: {0}", matches.Count);
if (matches.Count > 0)
foreach (Match m in matches)
Console.WriteLine("Inner DIV: {0}", m.Groups[2]);
Console.ReadLine();
}
Output:
Matches tìm thấy: 1
Nội DIV: Đây là một thử nghiệm
Có bắt buộc của công việc này mà bạn sử dụng cụm từ thông dụng? HTML là ngữ cảnh ngữ cảnh miễn phí, không thể phân tích cú pháp bằng các biểu thức chính quy. Thông thường, bạn có thể đến gần, nhưng bạn nên sử dụng trình phân tích cú pháp HTML tốt hơn. Xem http://stackoverflow.com/a/1732454/2022565 –