我正在嘗試編寫一個正則表達式,它可以解析< p> </p>標記之間的文本。連續最多有3行文字。我想這可能是可能的使用(?那我現在使用得到一個行如下=搜索尋址功能。使用正則表達式(.Net)捕獲多行
的代碼。
<p>([^']*?)<[/]p
是否有可能有一個正則表達式可以得到的標籤多行之間的文本?每一行都將需要在自己的組。
一個例子是
<p>The</p>
<p>Grey</p>
<p>Fox</p>
我正在嘗試編寫一個正則表達式,它可以解析< p> </p>標記之間的文本。連續最多有3行文字。我想這可能是可能的使用(?那我現在使用得到一個行如下=搜索尋址功能。使用正則表達式(.Net)捕獲多行
的代碼。
<p>([^']*?)<[/]p
是否有可能有一個正則表達式可以得到的標籤多行之間的文本?每一行都將需要在自己的組。
一個例子是
<p>The</p>
<p>Grey</p>
<p>Fox</p>
首先,這將是我們很容易在Html Agility Pack,你會得到一個更強大的解決方案。
但是,如果你在格式的控制是100%,輸入來自可信來源來,你可以在某些情況下,正則表達式做到這一點:
Match match = Regex.Match(html, @"(?:<p>(.*?)</p>\s*)+", RegexOptions.Singleline);
if (match.Success)
{
foreach (Capture line in match.Groups[1].Captures)
Console.WriteLine(line.Value);
}
輸出:
The
Grey
Fox
爲什麼要調用'OfType'? –
意外。從測試中遺留下來。 (我真的測試過它,誠實!) –
不要忘記看看有史以來投票最多的答案:http://stackoverflow.com/questions/1732348/please-please-please-dont-use-regex-for-html-tony-the-pony-he -comes/1732454#1732454 –
感謝您的鏈接。我已經看到了,並認爲我將是安全的,因爲這是我解析的HTML中唯一的東西。 – Ryan