继续追问正则表达式的问题
"\r\n\t\t<p>\r\n <span style=\"BACKGROUND-COLOR: #cce8cf\">hello world</span>\r\n </p>\r\n <p>\r\n <span style=\"BACKGROUND-COLOR: #cce8cf\">Hello</span>\r\n </p>\r\n <p>\r\n <span style=\"BACKGROUND-COLOR: #cce8cf\">hellO 8</span>\r\n </p>"
想用正则表达式匹配出第一<p></p>
也就是:<p>\r\n <span style=\"BACKGROUND-COLOR: #cce8cf\">hello world</span>\r\n </p>
写了如下代码:
Regex r1 = new Regex(@"(<p.*>)", RegexOptions.Multiline);
但是结果为空。
请大侠指导。谢谢
[解决办法]
[解决办法]
<p[^>]*>.*?</p>
[解决办法]
string str = "\r\n\t\t<p>\r\n <span style=\"BACKGROUND-COLOR: #cce8cf\">hello world</span>\r\n </p>\r\n <p>\r\n <span style=\"BACKGROUND-COLOR: #cce8cf\">Hello</span>\r\n </p>\r\n <p>\r\n <span style=\"BACKGROUND-COLOR: #cce8cf\">hellO 8</span>\r\n </p>";
Regex reg = new Regex(@"(?is)<p[^>]*>(.*?)</p>");
Match match = reg.Match(str);
Console.Write(match.Value);
[解决办法]
<p>
<span style="BACKGROUND-COLOR: #cce8cf">hello world</span>
</p>
[解决办法]
string temp = @"\r\n\t\t<p>\r\n <span style=""BACKGROUND-COLOR: #cce8cf"">hello world</span>\r\n </p>\r\n <p>\r\n <span style=""BACKGROUND-COLOR: #cce8cf"">Hello</span>\r\n </p>\r\n <p>\r\n <span style=""BACKGROUND-COLOR: #cce8cf"">hellO 8</span>\r\n </p>";
Console.WriteLine(Regex.Match(temp,"(?s)(?<=<p>)(.*?)(?=</p>)"));