111,092
社区成员




@"(?six) # 宽松排列格式
<td\s+ # 开始
(?: # 下述字符
""[^""]*"" # 双引号字符串
| # 或者是 ...
'[^']*' # 单引号字符串
| # 或者是 ...
[^""'>] # 除了双引号、单引号或结束的尖括号(>)外的其他文本
)* # 重复任意多次
> # 结束的尖括号(>)
.* # 内容
</td> # 结束
";
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string s = @"<td onMouseOver=""show('<table>');"">567 </td>";
string p1 = @"(?si)<td\b(?:""[^""]*""|'[^']*'|[^""'>])*>\s*(?<Price>.+?)\s*</td>";
Match m1 = Regex.Match(s, p1);
Console.WriteLine(m1.Groups["Price"]); // 输出: 567
string p2 = @"(?s)'(?<ChangePrice>.*?)'";
Match m2 = Regex.Match(s, p2);
Console.WriteLine(m2.Groups["ChangePrice"]); // 输出: <table>
}
}
@"(?six) # (?s)=点号匹配一切字符,(?i)=不区分大小写,(?x)=宽松排列格式
<td\s+ # 开始
(?: # 下述字符
""[^""]*"" # 双引号字符串
| # 或者是 ...
'[^']*' # 单引号字符串
| # 或者是 ...
[^""'>] # 除了双引号、单引号或结束的尖括号(>)外的其他文本
)* # 重复任意多次
> # 结束的尖括号(>)
\s*
(?<Price>[\d\.]+) # 内容
\s*
</td> # 结束
";